From: Andreas Beckmann Date: Wed, 3 Feb 2021 20:21:03 +0000 (+0000) Subject: pocl (1.6-4) unstable; urgency=medium X-Git-Tag: archive/raspbian/1.6-4+rpi1^2~15 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=7c31b03459211d9761b71f5e744df63679bcd8a2;p=pocl.git pocl (1.6-4) unstable; urgency=medium * Restore setting unroll-threshold on LLVM 9 to avoid kernel/test_rotate hanging on avx512 capable cpus. (Closes: #980626) * Kill hanging tests after 30 minutes. * Let dh_shlibdeps find libpocl-devices-basic.so. * Do not use the embedded copy of the OpenCL headers. * Build with -fvisibility-inlines-hidden. * Drop hidden symbols. * Bump Standards-Version to 4.5.1, no changes needed. [dgit import unpatched pocl 1.6-4] --- 7c31b03459211d9761b71f5e744df63679bcd8a2 diff --cc debian/changelog index 0000000,0000000..97490c7 new file mode 100644 --- /dev/null +++ b/debian/changelog @@@ -1,0 -1,0 +1,803 @@@ ++pocl (1.6-4) unstable; urgency=medium ++ ++ * Restore setting unroll-threshold on LLVM 9 to avoid kernel/test_rotate ++ hanging on avx512 capable cpus. (Closes: #980626) ++ * Kill hanging tests after 30 minutes. ++ * Let dh_shlibdeps find libpocl-devices-basic.so. ++ * Do not use the embedded copy of the OpenCL headers. ++ * Build with -fvisibility-inlines-hidden. ++ * Drop hidden symbols. ++ * Bump Standards-Version to 4.5.1, no changes needed. ++ ++ -- Andreas Beckmann Wed, 03 Feb 2021 21:21:03 +0100 ++ ++pocl (1.6-3) unstable; urgency=medium ++ ++ * Update symbols file. ++ * Upload to unstable. ++ ++ -- Andreas Beckmann Tue, 05 Jan 2021 02:08:00 +0100 ++ ++pocl (1.6-2) experimental; urgency=medium ++ ++ * Build with -DHARDENING_ENABLE=ON. ++ * Update symbols file for amd64 and i386. ++ ++ -- Andreas Beckmann Mon, 28 Dec 2020 23:50:16 +0100 ++ ++pocl (1.6-1) experimental; urgency=medium ++ ++ * New upstream release. ++ * Refresh/remove patches. ++ * Add testcase for bug #975931. ++ * Revert to llvm 9. (Reopens: #974797) ++ * Reintroduce "visibility hidden" to expose less internal symbols. ++ * Update symbols file for amd64 and i386. ++ ++ -- Andreas Beckmann Thu, 24 Dec 2020 04:19:57 +0100 ++ ++pocl (1.5-8) experimental; urgency=medium ++ ++ * Cherry-pick upstream commits for llvm 11 support and some bugfixes. ++ * Switch to llvm 11. (Closes: #974797) ++ * Update symbols file for amd64 and i386. ++ * Upload to experimental. ++ ++ -- Andreas Beckmann Tue, 17 Nov 2020 17:08:26 +0100 ++ ++pocl (1.5-7) unstable; urgency=medium ++ ++ * Switch to llvm 10. ++ * Update symbols file. ++ ++ -- Andreas Beckmann Mon, 16 Nov 2020 14:45:48 +0100 ++ ++pocl (1.5-6) unstable; urgency=medium ++ ++ * Fix separate arch:all build in debhelper-compat 13 with ++ -DCMAKE_SKIP_INSTALL_ALL_DEPENDENCY=OFF. ++ ++ -- Andreas Beckmann Wed, 29 Jul 2020 12:52:56 +0200 ++ ++pocl (1.5-5) unstable; urgency=medium ++ ++ * Update symbols file. ++ * Switch to debhelper-compat (= 13). ++ * Fix typos found by Lintian. ++ ++ -- Andreas Beckmann Wed, 29 Jul 2020 02:18:39 +0200 ++ ++pocl (1.5-4) unstable; urgency=medium ++ ++ * Rebuild with GCC 10. (Closes: #957694) ++ * Update symbols file. ++ ++ -- Andreas Beckmann Thu, 23 Jul 2020 14:20:52 +0200 ++ ++pocl (1.5-3) unstable; urgency=medium ++ ++ * Update symbols file. ++ * Cherry-pick upstream commit 90fdec99 to avoid unwanted dependency on ++ symbols from libOpenCL.so.1. (Closes: #958700) ++ ++ -- Andreas Beckmann Mon, 27 Apr 2020 00:46:54 +0200 ++ ++pocl (1.5-2) unstable; urgency=medium ++ ++ * The bullseye toolchain defaults to linking with --as-needed. ++ * Link against shared libclang-cpp when building with llvm >= 9. ++ * Update symbols file for amd64 and i386. ++ * Reduce local memory safety margin to prevent the pthread device from ++ running out of memory during initialization. This affects 32-bit builds ++ on platforms with large caches and large corecount. ++ * Upload to unstable. ++ ++ -- Andreas Beckmann Fri, 17 Apr 2020 16:40:56 +0200 ++ ++pocl (1.5-1) experimental; urgency=medium ++ ++ * New upstream release. ++ * Refresh/remove patches. ++ * Update symbols file for amd64 and i386. ++ * Upload to experimental. ++ ++ -- Andreas Beckmann Sat, 04 Apr 2020 18:43:38 +0200 ++ ++pocl (1.4-6) unstable; urgency=medium ++ ++ * Update symbols files. ++ * Upload to unstable. ++ ++ -- Andreas Beckmann Wed, 05 Feb 2020 20:55:06 +0100 ++ ++pocl (1.4-5) experimental; urgency=medium ++ ++ * Update symbols files. ++ * Switch to llvm 9. ++ * Bump Standards-Version to 4.5.0, no changes needed. ++ * Upload to experimental. ++ ++ -- Andreas Beckmann Fri, 31 Jan 2020 17:11:45 +0100 ++ ++pocl (1.4-4) unstable; urgency=medium ++ ++ * Postpone clinfo failures after dh_makeshlibs, too. ++ * Work around add_test_pocl() ignoring SKIP_RETURN_CODE. ++ ++ -- Andreas Beckmann Tue, 28 Jan 2020 12:02:47 +0100 ++ ++pocl (1.4-3) unstable; urgency=medium ++ ++ * Update symbols files. ++ * Fix clash with altivec macros on ppc64el. ++ * Skip subdevice tests on (virtual) single core CPUs. ++ * Upload to unstable. ++ ++ -- Andreas Beckmann Sun, 19 Jan 2020 15:58:32 +0100 ++ ++pocl (1.4-2) experimental; urgency=medium ++ ++ * Update symbols files. ++ * Switch to llvm 8. ++ ++ -- Andreas Beckmann Thu, 16 Jan 2020 03:03:18 +0100 ++ ++pocl (1.4-1) experimental; urgency=medium ++ ++ * New upstream release. ++ * Refresh/remove patches. ++ * Link kernels with libm to avoid missing fma/fmaf/... symbols. ++ * Ignore regression/struct_kernel_arguments failure on i686. ++ * Switch back to llvm 7 for now. ++ * Update symbols files for amd64 and i386. ++ * Fix build on GNU/hurd, thanks to Samuel Thibault. (Closes: #947881) ++ * Update copyright holders and years. ++ * Upload to experimental. ++ ++ -- Andreas Beckmann Sat, 04 Jan 2020 11:08:11 +0100 ++ ++pocl (1.3-10) unstable; urgency=medium ++ ++ * Use upstream version of upstreamed patches. ++ * Backport "Use libdl directly" and related fixes from 1.4. ++ (Closes: #946582, #946422) ++ * Drop B-D on libltdl-dev. ++ ++ -- Andreas Beckmann Thu, 26 Dec 2019 23:19:15 +0100 ++ ++pocl (1.3-9) unstable; urgency=medium ++ ++ * Bump Standards-Version to 4.4.1, no changes needed. ++ * Upload to unstable. ++ ++ -- Andreas Beckmann Wed, 09 Oct 2019 23:15:27 +0200 ++ ++pocl (1.3-8) experimental; urgency=medium ++ ++ * Switch to llvm 8. ++ * Update symbols files for amd64 and i386. ++ * Backport "Fixes to global memory size detection" from 1.4. ++ * Upload to experimental. ++ ++ -- Andreas Beckmann Wed, 25 Sep 2019 00:48:51 +0200 ++ ++pocl (1.3-7) unstable; urgency=medium ++ ++ * Try a fix for allocation limit computation on kfreebsd-i386. ++ * Upload to unstable. ++ ++ -- Andreas Beckmann Tue, 24 Sep 2019 00:55:41 +0200 ++ ++pocl (1.3-6) experimental; urgency=medium ++ ++ * Update symbols files. ++ * Ignore workgroup/loop_with_two_paths_to_the_latch_LOOPS failures. ++ ++ -- Andreas Beckmann Sat, 14 Sep 2019 19:49:14 +0200 ++ ++pocl (1.3-5) experimental; urgency=medium ++ ++ * Switch to llvm 7, again. (Closes: #912793, #932707) ++ * Update symbols files for amd64 and i386. ++ * Upload to experimental. ++ ++ -- Andreas Beckmann Tue, 27 Aug 2019 18:35:12 +0200 ++ ++pocl (1.3-4) unstable; urgency=medium ++ ++ * Enable --exclude-libs on kFreeBSD. ++ * Tune symbols files. ++ ++ -- Andreas Beckmann Fri, 06 Sep 2019 23:13:34 +0200 ++ ++pocl (1.3-3) unstable; urgency=medium ++ ++ * Rebuild with gcc 9. ++ * Update symbols files for amd64 and i386. ++ ++ -- Andreas Beckmann Sat, 24 Aug 2019 07:37:21 +0200 ++ ++pocl (1.3-2) unstable; urgency=medium ++ ++ * Update symbols files. ++ * Bump Standards-Version to 4.4.0, no changes needed. ++ * Upload to unstable. ++ ++ -- Andreas Beckmann Sun, 14 Jul 2019 15:35:36 +0200 ++ ++pocl (1.3-1) experimental; urgency=medium ++ ++ * New upstream release. ++ * Refresh/remove patches. ++ * Switch back to llvm 6.0 for now. ++ * Update symbols files for amd64 and i386. ++ * Upload to experimental. ++ ++ -- Andreas Beckmann Sat, 13 Jul 2019 13:33:22 +0200 ++ ++pocl (1.2-10) experimental; urgency=medium ++ ++ * Switch to llvm 7. (Closes: #912793) ++ * Update symbols files. ++ * Upload to experimental. ++ ++ -- Andreas Beckmann Mon, 11 Feb 2019 16:56:57 +0100 ++ ++pocl (1.2-5) unstable; urgency=medium ++ ++ * Disable dh_dwz which fails on 32-bit platforms, see #918903. ++ ++ -- Andreas Beckmann Tue, 05 Feb 2019 00:39:59 +0100 ++ ++pocl (1.2-4) unstable; urgency=medium ++ ++ * Cherry-pick upstream "Fix kernel debug data emission". (Closes: #919824) ++ * Switch to debhelper-compat (= 12). ++ * Upload to unstable. ++ ++ -- Andreas Beckmann Mon, 04 Feb 2019 16:08:38 +0100 ++ ++pocl (1.2-3) experimental; urgency=medium ++ ++ * kernel/test_printf: Add more tests. ++ * Perform compile test to select -march or -mcpu for clang. ++ * Upload to experimental. ++ ++ -- Andreas Beckmann Mon, 21 Jan 2019 01:34:24 +0100 ++ ++pocl (1.2-2) unstable; urgency=medium ++ ++ * Update symbols files. ++ * Upload to unstable. ++ ++ -- Andreas Beckmann Tue, 15 Jan 2019 16:55:49 +0100 ++ ++pocl (1.2-1) experimental; urgency=medium ++ ++ * New upstream release. ++ * Remove patches that were applied upstream. ++ * Cherry-pick upstream commit fixing LINK_WITH_CLANG. ++ * Do not link with --rtlib=compiler-rt at all. ++ * Ignore kernel/test_printf failure on i686. ++ ++ -- Andreas Beckmann Fri, 11 Jan 2019 19:49:24 +0100 ++ ++pocl (1.2~rc2-1) experimental; urgency=medium ++ ++ * New upstream release candidate. ++ * Refresh/remove patches. ++ * Update symbols files for amd64 and i386. ++ * Upload to experimental. ++ ++ -- Andreas Beckmann Fri, 07 Sep 2018 19:14:21 +0200 ++ ++pocl (1.1-9) unstable; urgency=medium ++ ++ * Drop unused deprecated module 'sphinx.ext.pngmath'. (Closes: #918828) ++ * Update symbols files. ++ ++ -- Andreas Beckmann Thu, 10 Jan 2019 00:56:33 +0100 ++ ++pocl (1.1-8) unstable; urgency=medium ++ ++ * Update symbols files. (Closes: #916024) ++ * Fix building in armel chroot on arm64 host. (Closes: #917244) ++ * Switch to debhelper-compat (= 11). ++ * Bump Standards-Version to 4.3.0, no changes needed. ++ * Update Lintian overrides. ++ ++ -- Andreas Beckmann Tue, 08 Jan 2019 13:04:26 +0100 ++ ++pocl (1.1-7) unstable; urgency=medium ++ ++ * Update symbols files. ++ * Upload to unstable. ++ ++ -- Andreas Beckmann Fri, 07 Sep 2018 16:04:52 +0200 ++ ++pocl (1.1-6) experimental; urgency=medium ++ ++ * pocl-opencl-icd: Mark as Multi-Arch: same. ++ * Fix building in armhf chroot on arm64 host. ++ * Bump Standards-Version to 4.2.1, no changes needed. ++ * Update symbols files. ++ * Upload to experimental. ++ ++ -- Andreas Beckmann Thu, 06 Sep 2018 14:11:03 +0200 ++ ++pocl (1.1-5) unstable; urgency=medium ++ ++ * Upload to unstable. ++ ++ -- Andreas Beckmann Mon, 09 Apr 2018 14:42:39 +0200 ++ ++pocl (1.1-4) experimental; urgency=medium ++ ++ * Run clinfo during testing. ++ * Do not link with --rtlib=compiler-rt on non-x86. (Closes: #892426) ++ * Prevent PIC/no-PIC option clash on mips64el. ++ * Set target cpu for armel to arm946e-s (arch=armv5te). ++ * Set target cpu for armhf to arm1156t2f-s (arch=armv6t2) with ++ -mfpu=vfp3-d16. Probably suboptimal (should rather be arch=armv7-a without ++ neon,vfp4), but passes all tests. (Closes: #888063) ++ * Bump Standards-Version to 4.1.4, no changes needed. ++ ++ -- Andreas Beckmann Fri, 06 Apr 2018 19:39:01 +0200 ++ ++pocl (1.1-3) experimental; urgency=medium ++ ++ * Add support for building for the GENERIC cpu, i.e. llvm defaults. ++ * Build with -DLLC_HOST_CPU=GENERIC on most architectures. ++ * Build with -DKERNELLIB_HOST_CPU_VARIANTS=distro on amd64. ++ * Switch to llvm 6.0. (Closes: #892428) ++ ++ -- Andreas Beckmann Tue, 27 Mar 2018 13:12:40 +0200 ++ ++pocl (1.1-2) experimental; urgency=medium ++ ++ * Switch to llvm 5.0. ++ * Update symbols files for amd64 and i386. ++ * Cherry-pick upstream commits for libhwloc 2.0 support. ++ * Cherry-pick upstream commit fixing test_clCreateSubDevices with 3 CUs. ++ * Cherry-pick upstream commit fixing reported values of native/preferred ++ vector width for unsupported types. ++ * pocl-doc: Mark as Multi-Arch: foreign. ++ * Upload to experimental. ++ ++ -- Andreas Beckmann Sun, 25 Mar 2018 17:35:44 +0200 ++ ++pocl (1.1-1) unstable; urgency=medium ++ ++ * New upstream release. ++ * Remove patches, applied or fixed upstream. ++ * Remove -DFORCE_OCL_KERNEL_TARGET_CPU=ON, fixed upstream. ++ * Report the error code on test failure. ++ * Point watch file to git tags on github. ++ * Add debian/upstream/metadata. ++ * Upload to unstable. ++ ++ -- Andreas Beckmann Sat, 10 Mar 2018 00:37:43 +0100 ++ ++pocl (1.1~rc2-1) experimental; urgency=medium ++ ++ * New upstream release candidate. (Closes: #888062) ++ * Remove patches that were applied upstream. ++ * Update symbols files. ++ * Do not attempt to run the testsuite during an arch-indep build. ++ * Set LLVM_ARCH for arm64, armel, armhf to generic. ++ * Set LLVM_ARCH for s390x to z10. (Closes: #888064) ++ * Drop internal helper library packages libpoclu-dev and libpoclu2. ++ * Add altivec.patch to get rid of the conflicting bool and vector macros ++ from altivec.h. (Closes: #764561) ++ * Update Lintian overrides. ++ * Upload to experimental. ++ ++ -- Andreas Beckmann Tue, 27 Feb 2018 17:31:09 +0100 ++ ++pocl (1.0-2) unstable; urgency=medium ++ ++ * Merge changes from 0.14-7. ++ * Build with SLEEF instead of VECMATHLIB. ++ * HACK: Ignore test failure for kernel/test_fabs on i386. ++ * Add and use new CMake option -DFORCE_OCL_KERNEL_TARGET_CPU=ON. ++ * Upload to unstable. ++ ++ -- Andreas Beckmann Fri, 19 Jan 2018 01:11:11 +0100 ++ ++pocl (1.0-1) experimental; urgency=medium ++ ++ * New upstream release. ++ * Refresh/remove patches. ++ * Build with -DPOCL_ICD_ABSOLUTE_PATH=OFF. ++ * Rename library packages for SOVERSION bump: 1 => 2. ++ * Update symbols files for amd64 and i386. ++ * Build with -DENABLE_VECMATHLIB=ON. ++ * Upload to experimental. ++ ++ -- Andreas Beckmann Wed, 17 Jan 2018 14:13:19 +0100 ++ ++pocl (0.14-7) unstable; urgency=medium ++ ++ * Switch to llvm 4.0. (Closes: #873417) ++ * Update symbols files for amd64 and i386. ++ ++ -- Andreas Beckmann Wed, 17 Jan 2018 18:36:08 +0100 ++ ++pocl (0.14-6) unstable; urgency=medium ++ ++ * Switch to debhelper compat level 11. ++ * Bump Standards-Version to 4.1.3, no changes needed. ++ * Switch Vcs-* to salsa.debian.org. ++ * Remove superfluous patches. ++ ++ -- Andreas Beckmann Wed, 17 Jan 2018 06:13:22 +0100 ++ ++pocl (0.14-5) unstable; urgency=medium ++ ++ * Upload to unstable. ++ ++ -- Andreas Beckmann Mon, 18 Dec 2017 01:44:17 +0100 ++ ++pocl (0.14-4) experimental; urgency=medium ++ ++ * Switch to llvm 3.9. ++ * Update symbols files for amd64 and i386. ++ ++ -- Andreas Beckmann Sat, 16 Dec 2017 05:24:25 +0100 ++ ++pocl (0.14-3) experimental; urgency=medium ++ ++ * Cherry-pick upstream [c9d2cd15] "llvm/Flatten: switch back to ++ force-inlining only some funcs", fixing kernel/test_convert_type_* failing ++ on i386 with LLC_HOST_CPU=i686. ++ * Switch LLC_HOST_CPU from "pentium3" to the correct baseline "i686" on ++ i386. ++ * kernel/test_printf actually passes on i386 with LLC_HOST_CPU=i686. ++ * Only override POCL_CACHE_DIR for the testsuite, not HOME. ++ ++ -- Andreas Beckmann Fri, 15 Dec 2017 07:08:32 +0100 ++ ++pocl (0.14-2) experimental; urgency=medium ++ ++ * Cherry-pick upstream [62b74d6f] "Fix malloc size in tests/runtime/ ++ test_clBuildProgram.c", fixing runtime/clBuildProgram failing frequently ++ on i386. ++ * Try to guess the minimal cpu for more architectures. ++ ++ -- Andreas Beckmann Thu, 14 Dec 2017 01:37:41 +0100 ++ ++pocl (0.14-1) experimental; urgency=medium ++ ++ * New upstream release. ++ * The autotools based build system is gone. ++ * Refresh/remove patches. ++ * Use the CMAKE_INSTALL_SYSCONFDIR setting for /etc. ++ * Update symbols files. ++ * Update copyright holders and years. ++ * Remove pocl-standalone(1) manpage. The binary is no longer shipped. ++ * Ship the new poclcc binary in libpocl-dev. ++ * Do not downgrade to -std=c++11, fixing test_fabs failing on i386. ++ (Closes: #883613) ++ * Upload to experimental. ++ ++ -- Andreas Beckmann Tue, 12 Dec 2017 03:48:35 +0100 ++ ++pocl (0.13-14) unstable; urgency=medium ++ ++ * Bump Standards-Version to 4.1.2, no changes needed. ++ * cmake-no-get_cpu_name.patch: Rename/redo as ++ cmake-no-llvm-sys-getHostCPUName.patch to not use ++ llvm::sys::getHostCPUName(). ++ * Clean up generated include/CL/cl.hpp* to fix building twice in a row. ++ * Upload to unstable. ++ ++ -- Andreas Beckmann Fri, 08 Dec 2017 18:55:52 +0100 ++ ++pocl (0.13-13) experimental; urgency=medium ++ ++ * Fix cmake i386 detection, thanks to James Price. (Closes: #882875) ++ ++ -- Andreas Beckmann Tue, 28 Nov 2017 03:04:06 +0100 ++ ++pocl (0.13-12) experimental; urgency=medium ++ ++ * Switch to cmake build system. ++ * llvmopencl.so.7 is now a private library. (Closes: #823528) ++ * cmake-no-fno-rtti.patch: Build without -fno-rtti (a workaround for ++ clang-3.7), like autotools, to avoid symbol changes. ++ * cmake-no-get_cpu_name.patch: Do not use get_cpu_name(), makes some tests ++ fail. ++ * cmake-forcibly-link-regtests-with-pthread.patch: Link regression tests ++ with -lpthread unconditionally, otherwise test_issue_231 fails. ++ * Upload to experimental. ++ ++ -- Andreas Beckmann Mon, 27 Nov 2017 16:01:58 +0100 ++ ++pocl (0.13-11) unstable; urgency=medium ++ ++ * Add Built-Using control field for linking against static clang libraries. ++ * do-not-export-clang-symbols.patch: Link static clang libraries with ++ --exclude-libs to not export their symbols. ++ * Update symbols files. ++ ++ -- Andreas Beckmann Sun, 26 Nov 2017 19:22:48 +0100 ++ ++pocl (0.13-10) unstable; urgency=medium ++ ++ * Update symbols files. ++ * Bump Standards-Version to 4.1.1, no changes needed. ++ * Use dpkg makefile snippets instead of parsing the changelog manually. ++ * Switch B-D-I: python-sphinx to python3-sphinx. ++ * Set Rules-Requires-Root: no. ++ * set-POCL_DEVICE_ADDRESS_BITS-before-use.patch: Fix use-before-init in ++ CMakeLists.txt causing i386 to be misdetected as x86_64. ++ * Do not export libOpenCL.so.1 symbols. ++ ++ -- Andreas Beckmann Sat, 25 Nov 2017 21:03:13 +0100 ++ ++pocl (0.13-9) unstable; urgency=medium ++ ++ * Work around using clang-3.8 with libstdc++-7-dev. (Closes: #853620) ++ * Update symbols files. ++ * Switch to debhelper compat level 10. ++ * Bump Standards-Version to 4.0.1. ++ * Raise Priority to optional. ++ * Support nodoc build. ++ * Do not mark the -dev packages as Multi-Arch: foreign. ++ * Move kernel-.bc from libpocl1-common into libpocl1. ++ ++ -- Andreas Beckmann Mon, 07 Aug 2017 04:57:35 +0200 ++ ++pocl (0.13-8) unstable; urgency=medium ++ ++ * Enable more hardening. ++ * Reduce superfluous dependencies by linking with --as-needed. ++ * Update symbols files. ++ * Update lintian overrides. ++ ++ -- Andreas Beckmann Mon, 10 Oct 2016 13:38:39 +0200 ++ ++pocl (0.13-7) unstable; urgency=medium ++ ++ * Update symbols files. ++ ++ -- Andreas Beckmann Fri, 09 Sep 2016 19:51:19 +0200 ++ ++pocl (0.13-6) unstable; urgency=medium ++ ++ * Update symbols files. (Closes: #835690, #836219) ++ ++ -- Andreas Beckmann Tue, 06 Sep 2016 14:55:01 +0200 ++ ++pocl (0.13-5) unstable; urgency=medium ++ ++ * Build-depend on the llvm-3.8 release version. ++ * Update symbols files. ++ ++ -- Andreas Beckmann Mon, 11 Jul 2016 04:24:40 +0200 ++ ++pocl (0.13-4) unstable; urgency=medium ++ ++ * Use CLOCK_UPTIME_FAST on kFreeBSD. ++ * Update symbols files. ++ * Upload to unstable. ++ ++ -- Andreas Beckmann Sun, 03 Jul 2016 16:17:52 +0200 ++ ++pocl (0.13-3) experimental; urgency=medium ++ ++ * Switch to llvm 3.8. ++ * Update symbols files for amd64 and i386. ++ * Upload to experimental. ++ ++ -- Andreas Beckmann Wed, 22 Jun 2016 14:37:21 +0200 ++ ++pocl (0.13-2) unstable; urgency=medium ++ ++ * Update symbols files. ++ * Upload to unstable. ++ ++ -- Andreas Beckmann Wed, 22 Jun 2016 11:40:19 +0200 ++ ++pocl (0.13-1) experimental; urgency=medium ++ ++ * New upstream release. (Closes: #820480) ++ * Refresh llvm-system-libs.patch, new upstream only supports llvm 3.7/3.8. ++ * Remove fix-image-args.patch, fixed upstream. ++ * glibc-2.23.patch: New, add support for glibc 2.23. ++ * Update symbols files for amd64 and i386. ++ * Upload to experimental. ++ ++ -- Andreas Beckmann Wed, 15 Jun 2016 18:55:21 +0200 ++ ++pocl (0.12-6) unstable; urgency=medium ++ ++ * Update symbols files. ++ * Upload to unstable. ++ ++ -- Andreas Beckmann Tue, 14 Jun 2016 20:11:10 +0200 ++ ++pocl (0.12-5) experimental; urgency=medium ++ ++ * Switch to llvm 3.7. ++ * Update symbols files for amd64 and i386. ++ * Upload to experimental. ++ ++ -- Andreas Beckmann Thu, 09 Jun 2016 10:26:04 +0200 ++ ++pocl (0.12-4) unstable; urgency=medium ++ ++ * Update symbols files. ++ ++ -- Andreas Beckmann Wed, 08 Jun 2016 02:36:14 +0200 ++ ++pocl (0.12-3) unstable; urgency=medium ++ ++ * Fix OpenCL headers for GNU/Hurd. ++ * Update symbols files. ++ * Upload to unstable. ++ ++ -- Andreas Beckmann Sat, 28 May 2016 17:17:37 +0200 ++ ++pocl (0.12-2) experimental; urgency=medium ++ ++ * Add B-D: sphinx-common for binary-arch builds with 'dh --with sphinxdoc'. ++ ++ -- Andreas Beckmann Tue, 10 May 2016 20:32:16 +0200 ++ ++pocl (0.12-1) experimental; urgency=medium ++ ++ * New upstream release. ++ * Refresh patches. ++ * Update symbols files for amd64 and i386. ++ * Upload to experimental. ++ ++ -- Andreas Beckmann Mon, 09 May 2016 14:44:03 +0200 ++ ++pocl (0.11-5) unstable; urgency=medium ++ ++ * Work around clang failing to find sys/cdefs.h on !linux. ++ ++ -- Andreas Beckmann Fri, 27 May 2016 12:29:56 +0200 ++ ++pocl (0.11-4) unstable; urgency=medium ++ ++ * Add B-D: sphinx-common for binary-arch builds with 'dh --with sphinxdoc'. ++ ++ -- Andreas Beckmann Tue, 17 May 2016 12:45:38 +0200 ++ ++pocl (0.11-3) unstable; urgency=medium ++ ++ * Update symbols files. ++ * Provide documentation package (pocl-doc), thanks to Ghislain Vaillant. ++ ++ -- Andreas Beckmann Sun, 08 May 2016 02:57:38 +0200 ++ ++pocl (0.11-2) unstable; urgency=medium ++ ++ * Make the B-D on clang versioned to match llvm. ++ * Drop superfluous B-D. ++ * Fix testsuite failure on i386. (Closes: #822563) ++ * Switch back target cpu to pentium3 on any-i386. ++ * Fix arm64 detection. (Closes: #787686) ++ * Move libpocl1-common to section utils. ++ * Upload to unstable. ++ ++ -- Andreas Beckmann Wed, 27 Apr 2016 10:17:50 +0200 ++ ++pocl (0.11-1) experimental; urgency=medium ++ ++ [ Vincent Danjean ] ++ * New upstream version (Closes: #795321) ++ * Switch to llvm-3.6 (Closes: #803652) ++ * Fix "FTBFS on arm64" by targeting llvm arch to cortex-a53 on arm64 ++ (Closes: #787686) ++ * Fix "vcs-browser field does not work" by fixing URL in debian/control ++ (Closes: #775844) ++ ++ [ Andreas Beckmann ] ++ * Use a temporary, writable $HOME while running the testsuite. ++ * Show the full tests/testsuite.log on testsuite failures. ++ * Drop the -dbg package in favor of autogenerated -dbgsym packages. ++ * Update symbols files for amd64 and i386. ++ * llvm-config --system-libs is only needed with static llvm. ++ * Fix detection of image and sampler arguments, thanks to James Price. ++ (Closes: #799322) ++ * Put package under "Debian OpenCL Maintainers" team maintenance. ++ * Add Vincent Danjean and myself to Uploaders. ++ * Bump Standards-Version to 3.9.8 (no changes needed). ++ ++ -- Andreas Beckmann Mon, 25 Apr 2016 09:49:29 +0200 ++ ++pocl (0.10-12) experimental; urgency=medium ++ ++ * Update again symbol file for armel ++ * apply partial fix for armhf (only one test fail, due to neon instruction) ++ ++ -- Vincent Danjean Sun, 02 Nov 2014 01:36:13 +0100 ++ ++pocl (0.10-11) experimental; urgency=medium ++ ++ * Correctly fix FreeBSD include ++ * Update symbols file ++ ++ -- Vincent Danjean Mon, 27 Oct 2014 12:31:47 +0100 ++ ++pocl (0.10-10) unstable; urgency=medium ++ ++ * fix symbol file (again), perhaps due to previous target adjustment ++ * trying pentium-m (for i386) and nehalem (for freebsd-i386) as ++ processor target ++ ++ -- Vincent Danjean Sat, 25 Oct 2014 22:32:40 +0200 ++ ++pocl (0.10-9) unstable; urgency=medium ++ ++ * fix symbol file (again) ++ * lowering armhf llvm target (cortex-a5 instead of cortex-a7) ++ The good one should be ARMv7-A but it does not exist in LLVM ++ https://wiki.debian.org/ArmHardFloatPort ++ * bumping i386 target (from i686 to pentium4) ++ => some officially Debian supported i386 systems wont work with ++ pocl ++ ++ -- Vincent Danjean Fri, 24 Oct 2014 14:20:00 +0200 ++ ++pocl (0.10-8) unstable; urgency=medium ++ ++ * fix symbol file for other architecture (!amd64) ++ ++ -- Vincent Danjean Fri, 24 Oct 2014 08:09:48 +0200 ++ ++pocl (0.10-7) unstable; urgency=medium ++ ++ * bump minimum arch on i386 (from i586 to i686) ++ * to not ignore failed testsuite anymore at build time ++ ++ -- Vincent Danjean Wed, 22 Oct 2014 21:07:51 +0200 ++ ++pocl (0.10-6) unstable; urgency=medium ++ ++ * Fix OpenCL headers for i386 FreeBSD ++ * use pkg-kde-tools to handle C++ symbols ++ * Try to support more Debian architectures. ++ ++ -- Vincent Danjean Wed, 22 Oct 2014 12:31:11 +0200 ++ ++pocl (0.10-5) unstable; urgency=medium ++ ++ * Fix arm configure.ac detection ++ * try to support more Debian architectures ++ ++ -- Vincent Danjean Tue, 21 Oct 2014 14:50:28 +0200 ++ ++pocl (0.10-4) unstable; urgency=medium ++ ++ * No need to provide utlist.h that is already provided in the uthash-dev ++ package (Closes: #764571) ++ * Fix some glitches in descriptions ++ * Remove old unneeded patches ++ * Add clang-3.5 dependency for libpocl1 (required when running a kernel) ++ * Fix default host CPU for the OpenCL compiler ++ * Add info in build logs to help debugging ++ ++ -- Vincent Danjean Fri, 10 Oct 2014 22:23:38 +0200 ++ ++pocl (0.10-3) unstable; urgency=medium ++ ++ * Move the manpage in the correct package ++ ++ -- Vincent Danjean Wed, 08 Oct 2014 00:03:28 +0200 ++ ++pocl (0.10-2) unstable; urgency=medium ++ ++ * Fix URLs, project name and update the copyright list ++ (initially created in 2012 with 0.7 version) ++ ++ -- Vincent Danjean Mon, 06 Oct 2014 23:22:34 +0200 ++ ++pocl (0.10-1) unstable; urgency=medium ++ ++ * Initial release. (Closes: #676504: ITP: pocl -- Portable OpenCL) ++ ++ -- Vincent Danjean Sun, 05 Oct 2014 21:15:18 +0200 diff --cc debian/clean index 0000000,0000000..1bfc841 new file mode 100644 --- /dev/null +++ b/debian/clean @@@ -1,0 -1,0 +1,3 @@@ ++build-doc/ ++debian/kcache/ ++debian/stamp-failed-testsuite diff --cc debian/control index 0000000,0000000..2e03a15 new file mode 100644 --- /dev/null +++ b/debian/control @@@ -1,0 -1,0 +1,134 @@@ ++Source: pocl ++Section: libs ++Priority: optional ++Maintainer: Debian OpenCL Maintainers ++Uploaders: Vincent Danjean , ++ Andreas Beckmann , ++Build-Depends: ++ debhelper-compat (= 13), ++ gcc (>= 4:10), ++ pkg-config, ++ libhwloc-dev, ++ ocl-icd-dev (>= 2.2.3), ++ ocl-icd-libopencl1 (>= 2.2.3), ++ ocl-icd-opencl-dev, ++ clang-9, ++ libclang-9-dev, ++ llvm-9-dev, ++ pkg-kde-tools, ++ cmake, ++ clinfo, ++Build-Depends-Indep: ++ dh-sequence-sphinxdoc, ++ python3-sphinx, ++Rules-Requires-Root: no ++Standards-Version: 4.5.1 ++Homepage: http://portablecl.org ++Vcs-Browser: https://salsa.debian.org/opencl-team/pocl ++Vcs-Git: https://salsa.debian.org/opencl-team/pocl.git ++ ++Package: pocl-opencl-icd ++Architecture: any ++Multi-Arch: same ++Depends: ++ libpocl2 (= ${binary:Version}), ++ ${misc:Depends} ++Provides: ++ opencl-icd, ++ opencl-icd-1.1-1, ++ opencl-icd-1.2-1, ++Description: pocl ICD ++ Portable Computing Language is an open source implementation of the OpenCL ++ standard which can be easily adapted for new targets. One of the goals of the ++ project is improving performance portability of OpenCL programs, avoiding the ++ need for target-dependent manual optimizations. A "native" target is included, ++ which allows running OpenCL kernels on the host (CPU). ++ . ++ This package allows one to use pocl as an installable client driver (ICD) for ++ OpenCL. ++ ++Package: libpocl2-common ++Architecture: all ++Multi-Arch: foreign ++Section: utils ++Depends: ++ ${misc:Depends} ++Breaks: ++ libpocl1-common, ++Replaces: ++ libpocl1-common, ++Description: common files for the pocl library ++ Portable Computing Language is an open source implementation of the OpenCL ++ standard which can be easily adapted for new targets. One of the goals of the ++ project is improving performance portability of OpenCL programs, avoiding the ++ need for target-dependent manual optimizations. A "native" target is included, ++ which allows running OpenCL kernels on the host (CPU). ++ . ++ This package provides the architecture independent files of the pocl library. ++ ++Package: libpocl2 ++Architecture: any ++Multi-Arch: same ++Pre-Depends: ++ ${misc:Pre-Depends} ++Depends: ++ libpocl2-common (= ${source:Version}), ++ clang-${LLVM:Version}, ++ ${shlibs:Depends}, ++ ${misc:Depends} ++Recommends: ++ pocl-opencl-icd, ++Breaks: ++ libpocl1-common (<< 0.13-9), ++Replaces: ++ libpocl1-common (<< 0.13-9), ++Description: Portable Computing Language library ++ Portable Computing Language is an open source implementation of the OpenCL ++ standard which can be easily adapted for new targets. One of the goals of the ++ project is improving performance portability of OpenCL programs, avoiding the ++ need for target-dependent manual optimizations. A "native" target is included, ++ which allows running OpenCL kernels on the host (CPU). ++ . ++ This package provides the core of pocl. ++ ++Package: libpocl-dev ++Architecture: any ++Section: libdevel ++Depends: ++ libpocl2 (= ${binary:Version}), ++ ${shlibs:Depends}, ++ ${misc:Depends} ++Description: development files for the pocl library ++ Portable Computing Language is an open source implementation of the OpenCL ++ standard which can be easily adapted for new targets. One of the goals of the ++ project is improving performance portability of OpenCL programs, avoiding the ++ need for target-dependent manual optimizations. A "native" target is included, ++ which allows running OpenCL kernels on the host (CPU). ++ . ++ This package provides the development files for the pocl library. Unless very ++ specific needs, this package is useless. This package is only required to link ++ directly and explicitly with pocl. ++ . ++ To develop OpenCL programs (that can be run with pocl), the opencl-dev virtual ++ package (provided by ocl-icd-opencl-dev for example) is required, not this one. ++ ++Package: pocl-doc ++Architecture: all ++Multi-Arch: foreign ++Section: doc ++Depends: ++ ${sphinxdoc:Depends}, ++ ${misc:Depends} ++Built-Using: ${sphinxdoc:Built-Using} ++Description: documentation for the pocl library ++ Portable Computing Language is an open source implementation of the OpenCL ++ standard which can be easily adapted for new targets. One of the goals of the ++ project is improving performance portability of OpenCL programs, avoiding the ++ need for target-dependent manual optimizations. A "native" target is included, ++ which allows running OpenCL kernels on the host (CPU). ++ . ++ This package provides the development files for the pocl library. Unless very ++ specific needs, this package is useless. This package is only required to link ++ directly and explicitly with pocl. ++ . ++ This package provides the documentation for the pocl library. diff --cc debian/copyright index 0000000,0000000..9ec0970 new file mode 100644 --- /dev/null +++ b/debian/copyright @@@ -1,0 -1,0 +1,133 @@@ ++Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ ++Upstream-Name: Portable Computing Language ++Source: http://portablecl.org/download.html ++ ++Files: * ++Copyright: 2012-2020 pocl developers ++ 2002-2019 Tampere University ++ 2011-2012 Carlos Sánchez de La Lama ++ 2011-2020 Pekka Jääskeläinen / Tampere University of Technology ++ 2011-2014 Kalle Raiskila ++ 2011-2014 Erik Schnetter ++ 2011-2015 Ville Korhonen / Tampere University of Technology ++ 2011-2015 Universidad Rey Juan Carlos ++ 2012-2017 Christian Rau ++ 2012 Cyril Roelandt ++ 2012 Timo Viitanen ++ 2013 Jesse Towner ++ 2013 Kalray ++ 2013 Victor Oliveira ++ 2014-2016 Advanced Micro Devices, Inc. ++ 2014 Felix Bytow ++ 2014 Lassi Koskinen ++ 2014-2015 Matias Koskela ++ 2014-2018 Michal Babej ++ 2015-2020 Giuseppe Bilotta ++ 2016 Tom Gall ++ 2016 Marc Andrysco ++ 2016-2017 James Price ++ 2017 Stephan Nolting ++ 2018 Julius Ikkala ++ 2020 Isuru Fernando ++License: Expat ++ ++Files: include/utlist.h ++Copyright: 2007-2011, Troy D. Hanson http://uthash.sourceforge.net ++License: Free-Software-2 ++ ++Files: include/CL/*.h* ++Copyright: 2008-2019 The Khronos Group Inc. ++License: Free-Software-3 ++ ++Files: lib/kernel/sleef/* ++Copyright: 2010-2017 Naoki Shibata ++ 2010-2017 ARM Ltd. ++License: Boost-1.0 ++ ++Files: debian/* ++Copyright: 2012 Vincent Danjean ++ © 2016-2021 Andreas Beckmann ++License: Expat ++ ++License: Expat ++ Permission is hereby granted, free of charge, to any person obtaining a copy ++ of this software and associated documentation files (the "Software"), to deal ++ in the Software without restriction, including without limitation the rights ++ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ++ copies of the Software, and to permit persons to whom the Software is ++ furnished to do so, subject to the following conditions: ++ . ++ The above copyright notice and this permission notice shall be included in ++ all copies or substantial portions of the Software. ++ . ++ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ++ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ++ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN ++ THE SOFTWARE. ++ ++License: Free-Software-2 ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are met: ++ . ++ * Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ . ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS ++ IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED ++ TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A ++ PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER ++ OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, ++ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, ++ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR ++ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF ++ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING ++ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS ++ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++License: Free-Software-3 ++ Permission is hereby granted, free of charge, to any person obtaining a ++ copy of this software and/or associated documentation files (the ++ "Materials"), to deal in the Materials without restriction, including ++ without limitation the rights to use, copy, modify, merge, publish, ++ distribute, sublicense, and/or sell copies of the Materials, and to ++ permit persons to whom the Materials are furnished to do so, subject to ++ the following conditions: ++ . ++ The above copyright notice and this permission notice shall be included ++ in all copies or substantial portions of the Materials. ++ . ++ THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ++ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ++ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. ++ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY ++ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, ++ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE ++ MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. ++ ++License: Boost-1.0 ++ Boost Software License - Version 1.0 - August 17th, 2003 ++ . ++ Permission is hereby granted, free of charge, to any person or organization ++ obtaining a copy of the software and accompanying documentation covered by ++ this license (the "Software") to use, reproduce, display, distribute, ++ execute, and transmit the Software, and to prepare derivative works of the ++ Software, and to permit third-parties to whom the Software is furnished to ++ do so, all subject to the following: ++ . ++ The copyright notices in the Software and this entire statement, including ++ the above license grant, this restriction and the following disclaimer, ++ must be included in all copies of the Software, in whole or in part, and ++ all derivative works of the Software, unless such copies or derivative ++ works are solely in the form of machine-executable object code generated by ++ a source language processor. ++ . ++ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT ++ SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE ++ FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ++ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER ++ DEALINGS IN THE SOFTWARE. diff --cc debian/libpocl-dev.install index 0000000,0000000..3919254 new file mode 100644 --- /dev/null +++ b/debian/libpocl-dev.install @@@ -1,0 -1,0 +1,3 @@@ ++usr/bin ++usr/lib/*/libpocl.so ++usr/lib/*/pkgconfig/pocl.pc diff --cc debian/libpocl2-common.install index 0000000,0000000..a8e36ee new file mode 100644 --- /dev/null +++ b/debian/libpocl2-common.install @@@ -1,0 -1,0 +1,1 @@@ ++usr/share/pocl/include diff --cc debian/libpocl2.install index 0000000,0000000..6fc0cea new file mode 100644 --- /dev/null +++ b/debian/libpocl2.install @@@ -1,0 -1,0 +1,3 @@@ ++usr/lib/*/pocl ++usr/lib/*/libpocl.*so.* ++usr/share/pocl/*.bc diff --cc debian/libpocl2.lintian-overrides index 0000000,0000000..6d898ad new file mode 100644 --- /dev/null +++ b/debian/libpocl2.lintian-overrides @@@ -1,0 -1,0 +1,2 @@@ ++# we use fake Debian revisions to mark symbol (dis)appearance on compiler version changes ++symbols-file-contains-debian-revision diff --cc debian/libpocl2.symbols index 0000000,0000000..39def76 new file mode 100644 --- /dev/null +++ b/debian/libpocl2.symbols @@@ -1,0 -1,0 +1,601 @@@ ++# SymbolsHelper-Confirmed: 1.6-2~hardening amd64 arm64 armel armhf hurd-i386 i386 mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc64 ++libpocl-devices-basic.so #PACKAGE# #MINVER# ++ pocl_basic_init_device_ops@Base 1.6 ++libpocl-devices-pthread.so #PACKAGE# #MINVER# ++ pocl_pthread_init_device_ops@Base 1.6 ++libpocl.so.2 #PACKAGE# #MINVER# ++* Build-Depends-Package: libpocl-dev ++#MISSING: 0.11# Header@Base 0.10 ++#MISSING: 0.11# KernelName@Base 0.10 ++ X@Base 0.13 ++ Y@Base 0.10 ++ _Z10KernelNameB5cxx11@Base 0.11 ++ _Z12pocl_exists2RN4llvm5TwineE@Base 1.1 ++ _Z12pocl_remove2RN4llvm5TwineE@Base 1.1 ++ _Z12pocl_rename2RN4llvm5TwineES1_@Base 1.1 ++#MISSING: 0.14# _Z13GlobalContextv@Base 0.10 ++#MISSING: 0.12-5~llvm3.7# _Z18cleanPathForOutputRN5clang11FileManagerERN4llvm15SmallVectorImplIcEE@Base 0.11 ++ (optional=buildconfig|arch=any-amd64)_Z19getX86KernelLibNamev@Base 0.13 ++#MISSING: 0.11# _Z21createWIVectorizePassv@Base 0.10 ++#MISSING: 0.14# _Z26pocl_llvm_get_kernel_countP11_cl_programPPN4llvm11NamedMDNodeE@Base 0.12 ++#MISSING: 0.14# _Z31createWorkItemAliasAnalysisPassv@Base 0.10 ++#MISSING: 0.14# _Z33pocl_llvm_get_kernel_arg_metadataPKcPN4llvm6ModuleEP10_cl_kernel@Base 0.10 ++ _Z37pocl_update_program_llvm_irs_unlockedP11_cl_programj@Base 1.1 ++#MISSING: 0.14# _Z4linkPN4llvm6ModuleEPKS0_@Base 0.10 ++#MISSING: 0.14# _Z6HeaderB5cxx11@Base 0.11 ++#MISSING: 0.14-7~llvm4.0# _ZN10WorkItemAA3runERN4llvm8FunctionEPNS0_15AnalysisManagerIS1_EE@Base 0.13-3~llvm3.8 ++ _ZN10WorkItemAA3runERN4llvm8FunctionEPNS0_15AnalysisManagerIS1_JEEE@Base 0.14-7~llvm4.0 ++ _ZN10WorkItemAA6PassIDE@Base 0.13-3~llvm3.8 ++ _ZN16WorkItemAAResult2IDE@Base 0.13-3~llvm3.8 ++ _ZN16WorkItemAAResult5aliasERKN4llvm14MemoryLocationES3_@Base 0.13-3~llvm3.8 ++ _ZN17BreakConstantGEPs13runOnFunctionERN4llvm8FunctionE@Base 0.10 ++ _ZN17BreakConstantGEPs2IDE@Base 0.10 ++ _ZN21WorkItemAliasAnalysis13runOnFunctionERN4llvm8FunctionE@Base 0.13-3~llvm3.8 ++ _ZN21WorkItemAliasAnalysis2IDE@Base 0.13 ++#MISSING: 0.13-3~llvm3.8# _ZN21WorkItemAliasAnalysis5aliasERKN4llvm14MemoryLocationES3_@Base 0.13 ++ _ZN21WorkItemAliasAnalysis6anchorEv@Base 0.13-3~llvm3.8 ++#MISSING: 1.3-5~gcc9+llvm7# _ZN4llvm11TypeBuilderINS_13_pocl_contextELb1EE12size_t_widthE@Base 0.10 ++ (optional=templinst|arch=!x32)_ZN4llvm15SmallVectorImplIPN4pocl14ParallelRegionEEaSERKS4_@Base 1.3-5~llvm7 ++ (optional=templinst)_ZN4llvm15callDefaultCtorI17BreakConstantGEPsEEPNS_4PassEv@Base 0.10 ++ (optional=templinst)_ZN4llvm15callDefaultCtorI21WorkItemAliasAnalysisEEPNS_4PassEv@Base 0.13 ++ (optional=templinst)_ZN4llvm15callDefaultCtorIN4pocl12LoopBarriersEEEPNS_4PassEv@Base 0.10 ++ (optional=templinst)_ZN4llvm15callDefaultCtorIN4pocl13PHIsToAllocasEEEPNS_4PassEv@Base 0.10 ++ (optional=templinst)_ZN4llvm15callDefaultCtorIN4pocl13WorkitemLoopsEEEPNS_4PassEv@Base 0.10 ++ (optional=templinst)_ZN4llvm15callDefaultCtorIN4pocl14AllocasToEntryEEEPNS_4PassEv@Base 0.10 ++ (optional=templinst)_ZN4llvm15callDefaultCtorIN4pocl14IsolateRegionsEEEPNS_4PassEv@Base 0.10 ++ (optional=templinst)_ZN4llvm15callDefaultCtorIN4pocl18RemoveBarrierCallsEEEPNS_4PassEv@Base 0.14 ++#MISSING: 0.14-4~llvm3.9# (optional=templinst)_ZN4llvm15callDefaultCtorIN4pocl19TargetAddressSpacesEEEPNS_4PassEv@Base 0.10 ++ (optional=templinst)_ZN4llvm15callDefaultCtorIN4pocl19WorkitemReplicationEEEPNS_4PassEv@Base 0.10 ++ (optional=templinst)_ZN4llvm15callDefaultCtorIN4pocl20CanonicalizeBarriersEEEPNS_4PassEv@Base 0.10 ++ (optional=templinst)_ZN4llvm15callDefaultCtorIN4pocl20ImplicitLoopBarriersEEEPNS_4PassEv@Base 0.10 ++ (optional=templinst)_ZN4llvm15callDefaultCtorIN4pocl22BarrierTailReplicationEEEPNS_4PassEv@Base 0.10 ++ (optional=templinst)_ZN4llvm15callDefaultCtorIN4pocl22WorkitemHandlerChooserEEEPNS_4PassEv@Base 0.10 ++ (optional=templinst)_ZN4llvm15callDefaultCtorIN4pocl23RemoveOptnoneFromWIFuncEEEPNS_4PassEv@Base 1.0 ++ (optional=templinst)_ZN4llvm15callDefaultCtorIN4pocl25OptimizeWorkItemFuncCallsEEEPNS_4PassEv@Base 1.0 ++ (optional=templinst)_ZN4llvm15callDefaultCtorIN4pocl26VariableUniformityAnalysisEEEPNS_4PassEv@Base 0.10 ++ (optional=templinst)_ZN4llvm15callDefaultCtorIN4pocl27HandleSamplerInitializationEEEPNS_4PassEv@Base 0.14 ++ (optional=templinst)_ZN4llvm15callDefaultCtorIN4pocl27ImplicitConditionalBarriersEEEPNS_4PassEv@Base 0.10 ++ (optional=templinst)_ZN4llvm15callDefaultCtorIN4pocl9WorkgroupEEEPNS_4PassEv@Base 0.10 ++#MISSING: 1.5-4~gcc10# _ZN4llvm3Any6TypeIdIPKNS_8FunctionEE2IdE@Base 1.3-8~gcc9+llvm8 ++#MISSING: 1.0# _ZN4pocl12BarrierBlock7classofEPKN4llvm10BasicBlockE@Base 0.10 ++ _ZN4pocl12LoopBarriers11ProcessLoopEPN4llvm4LoopERNS1_13LPPassManagerE@Base 0.10 ++ _ZN4pocl12LoopBarriers2IDE@Base 0.10 ++ _ZN4pocl12LoopBarriers9runOnLoopEPN4llvm4LoopERNS1_13LPPassManagerE@Base 0.10 ++ _ZN4pocl12WGLocalSizeXE@Base 0.12 ++ _ZN4pocl12WGLocalSizeYE@Base 0.12 ++ _ZN4pocl12WGLocalSizeZE@Base 0.12 ++ _ZN4pocl13AddWIMetadataE@Base 0.10 ++ _ZN4pocl13PHIsToAllocas13runOnFunctionERN4llvm8FunctionE@Base 0.10 ++ _ZN4pocl13PHIsToAllocas17BreakPHIToAllocasEPN4llvm7PHINodeE@Base 0.10 ++ _ZN4pocl13PHIsToAllocas2IDE@Base 0.10 ++ _ZN4pocl13WorkitemLoops13RegionOfBlockEPN4llvm10BasicBlockE@Base 0.10 ++ _ZN4pocl13WorkitemLoops13runOnFunctionERN4llvm8FunctionE@Base 0.10 ++ _ZN4pocl13WorkitemLoops14AddContextSaveEPN4llvm11InstructionES3_@Base 0.10 ++ _ZN4pocl13WorkitemLoops14AppendIncBlockEPN4llvm10BasicBlockEPNS1_5ValueE@Base 0.10 ++#MISSING: 1.3# _ZN4pocl13WorkitemLoops15GetContextArrayEPN4llvm11InstructionE@Base 0.10 ++ _ZN4pocl13WorkitemLoops15GetContextArrayEPN4llvm11InstructionERb@Base 1.3 ++ _ZN4pocl13WorkitemLoops15ProcessFunctionERN4llvm8FunctionE@Base 0.10 ++#MISSING: 0.14# (subst)_ZN4pocl13WorkitemLoops16CreateLoopAroundERNS_14ParallelRegionEPN4llvm10BasicBlockES5_bPNS3_5ValueE{size_t}b@Base 0.10 ++ (subst)_ZN4pocl13WorkitemLoops16CreateLoopAroundERNS_14ParallelRegionEPN4llvm10BasicBlockES5_bPNS3_5ValueE{size_t}bS7_@Base 0.14 ++#MISSING: 0.14-4~llvm3.9# _ZN4pocl13WorkitemLoops16GetLinearWiIndexERN4llvm9IRBuilderILb1ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb1EEEEEPNS1_6ModuleEPNS_14ParallelRegionE@Base 0.14 ++ _ZN4pocl13WorkitemLoops16GetLinearWiIndexERN4llvm9IRBuilderINS1_14ConstantFolderENS1_24IRBuilderDefaultInserterEEEPNS1_6ModuleEPNS_14ParallelRegionE@Base 0.14-4~llvm3.9 ++#MISSING: 1.3# _ZN4pocl13WorkitemLoops17AddContextRestoreEPN4llvm5ValueEPNS1_11InstructionES5_b@Base 0.10 ++ _ZN4pocl13WorkitemLoops17AddContextRestoreEPN4llvm5ValueEPNS1_11InstructionEbS5_b@Base 1.3 ++ _ZN4pocl13WorkitemLoops21AddContextSaveRestoreEPN4llvm11InstructionE@Base 0.10 ++ _ZN4pocl13WorkitemLoops22releaseParallelRegionsEv@Base 1.0 ++ _ZN4pocl13WorkitemLoops23FixMultiRegionVariablesEPNS_14ParallelRegionE@Base 0.10 ++ _ZN4pocl13WorkitemLoops23ShouldNotBeContextSavedEPN4llvm11InstructionE@Base 0.10 ++ _ZN4pocl13WorkitemLoops2IDE@Base 0.10 ++ _ZN4pocl14AllocasToEntry13runOnFunctionERN4llvm8FunctionE@Base 0.10 ++ _ZN4pocl14AllocasToEntry2IDE@Base 0.10 ++ _ZN4pocl14AllocasToEntryC1Ev@Base 0.10 ++ _ZN4pocl14AllocasToEntryC2Ev@Base 0.10 ++ _ZN4pocl14IsolateRegions11runOnRegionEPN4llvm6RegionERNS1_13RGPassManagerE@Base 0.10 ++ _ZN4pocl14IsolateRegions13addDummyAfterEPN4llvm6RegionEPNS1_10BasicBlockE@Base 0.10 ++ _ZN4pocl14IsolateRegions14addDummyBeforeEPN4llvm6RegionEPNS1_10BasicBlockE@Base 0.10 ++ _ZN4pocl14IsolateRegions2IDE@Base 0.10 ++ _ZN4pocl14ParallelRegion10chainAfterEPS0_@Base 0.10 ++ _ZN4pocl14ParallelRegion12InjectPrintFEPN4llvm11InstructionENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERSt6vectorIPNS1_5ValueESaISC_EE@Base 0.11 ++#MISSING: 0.11# _ZN4pocl14ParallelRegion12InjectPrintFEPN4llvm11InstructionESsRSt6vectorIPNS1_5ValueESaIS6_EE@Base 0.10 ++ _ZN4pocl14ParallelRegion12LocalIDXLoadEv@Base 0.10 ++ _ZN4pocl14ParallelRegion12LocalIDYLoadEv@Base 0.10 ++ _ZN4pocl14ParallelRegion12LocalIDZLoadEv@Base 0.10 ++ _ZN4pocl14ParallelRegion13AddBlockAfterEPN4llvm10BasicBlockES3_@Base 0.10 ++ (subst)_ZN4pocl14ParallelRegion13AddIDMetadataERN4llvm11LLVMContextE{size_t}{size_t}{size_t}@Base 0.10 ++ _ZN4pocl14ParallelRegion14AddBlockBeforeEPN4llvm10BasicBlockES3_@Base 0.10 ++ _ZN4pocl14ParallelRegion14insertPrologueEjjj@Base 0.10 ++ _ZN4pocl14ParallelRegion15LocalizeIDLoadsEv@Base 0.10 ++ _ZN4pocl14ParallelRegion17GenerateTempNamesEPN4llvm10BasicBlockE@Base 0.10 ++ _ZN4pocl14ParallelRegion17insertLocalIdInitEPN4llvm10BasicBlockEjjj@Base 0.10 ++ _ZN4pocl14ParallelRegion18InjectRegionPrintFEv@Base 0.10 ++#MISSING: 1.6# _ZN4pocl14ParallelRegion23AddParallelLoopMetadataEPN4llvm6MDNodeE@Base 0.10 ++ _ZN4pocl14ParallelRegion23AddParallelLoopMetadataEPN4llvm6MDNodeESt8functionIFbPNS1_11InstructionEEE@Base 1.6 ++ _ZN4pocl14ParallelRegion23InjectVariablePrintoutsEv@Base 0.10 ++ _ZN4pocl14ParallelRegion4dumpEv@Base 0.10 ++ _ZN4pocl14ParallelRegion5idGenE@Base 0.10 ++ _ZN4pocl14ParallelRegion5purgeEv@Base 0.10 ++ _ZN4pocl14ParallelRegion5remapERN4llvm8ValueMapIPKNS1_5ValueENS1_14WeakTrackingVHENS1_14ValueMapConfigIS5_NS1_3sys10SmartMutexILb0EEEEEEE@Base 1.1-2~llvm5.0 ++#MISSING: 1.1-2~llvm5.0# _ZN4pocl14ParallelRegion5remapERN4llvm8ValueMapIPKNS1_5ValueENS1_6WeakVHENS1_14ValueMapConfigIS5_NS1_3sys10SmartMutexILb0EEEEEEE@Base 0.10 ++ _ZN4pocl14ParallelRegion6CreateERKN4llvm11SmallPtrSetIPNS1_10BasicBlockELj8EEES4_S4_@Base 0.10 ++ _ZN4pocl14ParallelRegion6VerifyEv@Base 0.10 ++ _ZN4pocl14ParallelRegion8HasBlockEPN4llvm10BasicBlockE@Base 0.10 ++ _ZN4pocl14ParallelRegion9SetExitBBEPN4llvm10BasicBlockE@Base 0.10 ++ _ZN4pocl14ParallelRegion9dumpNamesEv@Base 0.10 ++ _ZN4pocl14ParallelRegion9replicateERN4llvm8ValueMapIPKNS1_5ValueENS1_14WeakTrackingVHENS1_14ValueMapConfigIS5_NS1_3sys10SmartMutexILb0EEEEEEERKNS1_5TwineE@Base 1.1-2~llvm5.0 ++#MISSING: 1.1-2~llvm5.0# _ZN4pocl14ParallelRegion9replicateERN4llvm8ValueMapIPKNS1_5ValueENS1_6WeakVHENS1_14ValueMapConfigIS5_NS1_3sys10SmartMutexILb0EEEEEEERKNS1_5TwineE@Base 0.10 ++ _ZN4pocl14ParallelRegionC1Ei@Base 0.10 ++ _ZN4pocl14ParallelRegionC2Ei@Base 0.10 ++ _ZN4pocl15WorkitemHandler10InitializeEPNS_6KernelE@Base 0.10 ++ _ZN4pocl15WorkitemHandler12dominatesUseEPN4llvm24DominatorTreeWrapperPassERNS1_11InstructionEj@Base 0.10 ++ _ZN4pocl15WorkitemHandler12movePhiNodesEPN4llvm10BasicBlockES3_@Base 0.10 ++ _ZN4pocl15WorkitemHandler13runOnFunctionERN4llvm8FunctionE@Base 0.10 ++ _ZN4pocl15WorkitemHandler26fixUndominatedVariableUsesEPN4llvm24DominatorTreeWrapperPassERNS1_8FunctionE@Base 0.10 ++ _ZN4pocl15WorkitemHandlerC1ERc@Base 0.10 ++ _ZN4pocl15WorkitemHandlerC2ERc@Base 0.10 ++ _ZN4pocl17WGMaxGridDimWidthE@Base 1.4 ++ _ZN4pocl18RemoveBarrierCalls13runOnFunctionERN4llvm8FunctionE@Base 0.14 ++ _ZN4pocl18RemoveBarrierCalls2IDE@Base 0.14 ++ _ZN4pocl18RemoveBarrierCallsC1Ev@Base 0.14 ++ _ZN4pocl18RemoveBarrierCallsC2Ev@Base 0.14 ++ _ZN4pocl18WGDynamicLocalSizeE@Base 0.14 ++#MISSING: 0.14-4~llvm3.9# _ZN4pocl19TargetAddressSpaces11runOnModuleERN4llvm6ModuleE@Base 0.10 ++#MISSING: 0.14-4~llvm3.9# _ZN4pocl19TargetAddressSpaces2IDE@Base 0.10 ++#MISSING: 0.14-4~llvm3.9# _ZN4pocl19TargetAddressSpacesC1Ev@Base 0.10 ++#MISSING: 0.14-4~llvm3.9# _ZN4pocl19TargetAddressSpacesC2Ev@Base 0.10 ++ _ZN4pocl19WorkitemReplication13runOnFunctionERN4llvm8FunctionE@Base 0.10 ++ _ZN4pocl19WorkitemReplication15ProcessFunctionERN4llvm8FunctionE@Base 0.10 ++ _ZN4pocl19WorkitemReplication2IDE@Base 0.10 ++ _ZN4pocl19createConstantIntMDERN4llvm11LLVMContextEi@Base 1.4 ++ _ZN4pocl20CanonicalizeBarriers13runOnFunctionERN4llvm8FunctionE@Base 0.10 ++ _ZN4pocl20CanonicalizeBarriers15ProcessFunctionERN4llvm8FunctionE@Base 0.10 ++ _ZN4pocl20CanonicalizeBarriers2IDE@Base 0.10 ++ _ZN4pocl20ImplicitLoopBarriers11ProcessLoopEPN4llvm4LoopERNS1_13LPPassManagerE@Base 0.10 ++ _ZN4pocl20ImplicitLoopBarriers19AddInnerLoopBarrierEPN4llvm4LoopERNS1_13LPPassManagerE@Base 0.10 ++ _ZN4pocl20ImplicitLoopBarriers2IDE@Base 0.10 ++ _ZN4pocl20ImplicitLoopBarriers9runOnLoopEPN4llvm4LoopERNS1_13LPPassManagerE@Base 0.10 ++ _ZN4pocl21getConstantIntMDValueEPN4llvm8MetadataE@Base 1.4 ++ _ZN4pocl21isLocalMemFunctionArgEPN4llvm8FunctionEj@Base 1.4 ++ _ZN4pocl22BarrierTailReplication11CleanupPHIsEPN4llvm10BasicBlockE@Base 0.10 ++ _ZN4pocl22BarrierTailReplication12FindSubgraphERSt6vectorIPN4llvm10BasicBlockESaIS4_EES4_@Base 0.10 ++ _ZN4pocl22BarrierTailReplication13runOnFunctionERN4llvm8FunctionE@Base 0.10 ++ _ZN4pocl22BarrierTailReplication15FindBarriersDFSEPN4llvm10BasicBlockERSt3setIS3_St4lessIS3_ESaIS3_EE@Base 0.10 ++ _ZN4pocl22BarrierTailReplication15ProcessFunctionERN4llvm8FunctionE@Base 0.10 ++ _ZN4pocl22BarrierTailReplication16UpdateReferencesERKSt6vectorIPN4llvm10BasicBlockESaIS4_EERNS2_8ValueMapIPKNS2_5ValueENS2_14WeakTrackingVHENS2_14ValueMapConfigISC_NS2_3sys10SmartMutexILb0EEEEEEE@Base 1.1-2~llvm5.0 ++#MISSING: 1.1-2~llvm5.0# _ZN4pocl22BarrierTailReplication16UpdateReferencesERKSt6vectorIPN4llvm10BasicBlockESaIS4_EERNS2_8ValueMapIPKNS2_5ValueENS2_6WeakVHENS2_14ValueMapConfigISC_NS2_3sys10SmartMutexILb0EEEEEEE@Base 0.10 ++ _ZN4pocl22BarrierTailReplication17ReplicateSubgraphEPN4llvm10BasicBlockEPNS1_8FunctionE@Base 0.10 ++ _ZN4pocl22BarrierTailReplication20ReplicateBasicBlocksERSt6vectorIPN4llvm10BasicBlockESaIS4_EERNS2_8ValueMapIPKNS2_5ValueENS2_14WeakTrackingVHENS2_14ValueMapConfigISB_NS2_3sys10SmartMutexILb0EEEEEEES7_PNS2_8FunctionE@Base 1.1-2~llvm5.0 ++#MISSING: 1.1-2~llvm5.0# _ZN4pocl22BarrierTailReplication20ReplicateBasicBlocksERSt6vectorIPN4llvm10BasicBlockESaIS4_EERNS2_8ValueMapIPKNS2_5ValueENS2_6WeakVHENS2_14ValueMapConfigISB_NS2_3sys10SmartMutexILb0EEEEEEES7_PNS2_8FunctionE@Base 0.10 ++ _ZN4pocl22BarrierTailReplication24ReplicateJoinedSubgraphsEPN4llvm10BasicBlockES3_RSt3setIS3_St4lessIS3_ESaIS3_EE@Base 0.10 ++ _ZN4pocl22BarrierTailReplication2IDE@Base 0.10 ++ _ZN4pocl22WorkitemHandlerChooser13runOnFunctionERN4llvm8FunctionE@Base 0.10 ++ _ZN4pocl22WorkitemHandlerChooser2IDE@Base 0.10 ++ _ZN4pocl23RemoveOptnoneFromWIFunc13runOnFunctionERN4llvm8FunctionE@Base 1.0 ++ _ZN4pocl23RemoveOptnoneFromWIFunc2IDE@Base 1.0 ++ _ZN4pocl23RemoveOptnoneFromWIFuncC1Ev@Base 1.0 ++ _ZN4pocl23RemoveOptnoneFromWIFuncC2Ev@Base 1.0 ++ _ZN4pocl23eraseFunctionAndCallersEPN4llvm8FunctionE@Base 1.0 ++ _ZN4pocl24WGAssumeZeroGlobalOffsetE@Base 1.4 ++ _ZN4pocl24setFuncArgAddressSpaceMDEPN4llvm8FunctionEjj@Base 1.4 ++ _ZN4pocl25OptimizeWorkItemFuncCalls13runOnFunctionERN4llvm8FunctionE@Base 1.0 ++ _ZN4pocl25OptimizeWorkItemFuncCalls2IDE@Base 1.0 ++ _ZN4pocl25OptimizeWorkItemFuncCallsC1Ev@Base 1.0 ++ _ZN4pocl25OptimizeWorkItemFuncCallsC2Ev@Base 1.0 ++ _ZN4pocl25createAutomaticLocalsPassE32pocl_autolocals_to_args_strategy@Base 1.6 ++ _ZN4pocl26VariableUniformityAnalysis10setUniformEPN4llvm8FunctionEPNS1_5ValueEb@Base 0.10 ++ _ZN4pocl26VariableUniformityAnalysis13runOnFunctionERN4llvm8FunctionE@Base 0.10 ++ _ZN4pocl26VariableUniformityAnalysis14doFinalizationERN4llvm6ModuleE@Base 0.10 ++ _ZN4pocl26VariableUniformityAnalysis18shouldBePrivatizedEPN4llvm8FunctionEPNS1_5ValueE@Base 0.10 ++ _ZN4pocl26VariableUniformityAnalysis19analyzeBBDivergenceEPN4llvm8FunctionEPNS1_10BasicBlockES5_@Base 0.10 ++ _ZN4pocl26VariableUniformityAnalysis22markInductionVariablesERN4llvm8FunctionERNS1_4LoopE@Base 0.14 ++ _ZN4pocl26VariableUniformityAnalysis2IDE@Base 0.10 ++ _ZN4pocl26VariableUniformityAnalysis9isUniformEPN4llvm8FunctionEPNS1_5ValueE@Base 0.10 ++ _ZN4pocl26VariableUniformityAnalysisC1Ev@Base 0.10 ++ _ZN4pocl26VariableUniformityAnalysisC2Ev@Base 0.10 ++ _ZN4pocl26regenerate_kernel_metadataERN4llvm6ModuleERSt3mapIPNS0_8FunctionES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE@Base 0.10 ++ _ZN4pocl27HandleSamplerInitialization13runOnFunctionERN4llvm8FunctionE@Base 0.14 ++ _ZN4pocl27HandleSamplerInitialization2IDE@Base 0.14 ++ _ZN4pocl27HandleSamplerInitializationC1Ev@Base 0.14 ++ _ZN4pocl27HandleSamplerInitializationC2Ev@Base 0.14 ++ _ZN4pocl27ImplicitConditionalBarriers13runOnFunctionERN4llvm8FunctionE@Base 0.10 ++ _ZN4pocl27ImplicitConditionalBarriers27firstNonBackedgePredecessorEPN4llvm10BasicBlockE@Base 0.10 ++ _ZN4pocl27ImplicitConditionalBarriers2IDE@Base 0.10 ++ _ZN4pocl6Kernel13getExitBlocksERN4llvm15SmallVectorImplIPNS1_10BasicBlockEEE@Base 1.0 ++#MISSING: 1.0# _ZN4pocl6Kernel13getExitBlocksERN4llvm15SmallVectorImplIPNS_12BarrierBlockEEE@Base 0.10 ++ _ZN4pocl6Kernel18getParallelRegionsEPN4llvm8LoopInfoE@Base 0.10 ++ (subst)_ZN4pocl6Kernel20addLocalSizeInitCodeE{size_t}{size_t}{size_t}@Base 0.10 ++ _ZN4pocl6Kernel26createParallelRegionBeforeEPN4llvm10BasicBlockE@Base 1.0 ++#MISSING: 1.0# _ZN4pocl6Kernel26createParallelRegionBeforeEPNS_12BarrierBlockE@Base 0.10 ++ _ZN4pocl7chopBBsERN4llvm8FunctionERNS0_4PassE@Base 0.10 ++ _ZN4pocl7dumpCFGERN4llvm8FunctionENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPNS0_11SmallVectorIPNS_14ParallelRegionELj8EEEPSt3setIPNS0_10BasicBlockESt4lessISG_ESaISG_EE@Base 0.11 ++#MISSING: 0.11# _ZN4pocl7dumpCFGERN4llvm8FunctionESsPNS0_11SmallVectorIPNS_14ParallelRegionELj8EEEPSt3setIPNS0_10BasicBlockESt4lessISA_ESaISA_EE@Base 0.10 ++#MISSING: 0.12# _ZN4pocl9LocalSizeE@Base 0.10 ++ _ZN4pocl9Workgroup11runOnModuleERN4llvm6ModuleE@Base 0.10 ++ _ZN4pocl9Workgroup13createWrapperEPN4llvm8FunctionERSt3mapIS3_S3_St4lessIS3_ESaISt4pairIKS3_S3_EEE@Base 1.3 ++ _ZN4pocl9Workgroup14addPlaceHolderERN4llvm9IRBuilderINS1_14ConstantFolderENS1_24IRBuilderDefaultInserterEEEPNS1_5ValueENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 1.3 ++ _ZN4pocl9Workgroup16privatizeContextEPN4llvm8FunctionE@Base 1.3 ++ _ZN4pocl9Workgroup16privatizeGlobalsEPN4llvm8FunctionERNS1_9IRBuilderINS1_14ConstantFolderENS1_24IRBuilderDefaultInserterEEEOKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaISF_EES9_IPNS1_5ValueESaISL_EE@Base 1.3 ++ _ZN4pocl9Workgroup17isKernelToProcessERKN4llvm8FunctionE@Base 0.10 ++ _ZN4pocl9Workgroup18createGridLauncherEPN4llvm8FunctionES3_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 1.3 ++ _ZN4pocl9Workgroup20hasWorkgroupBarriersERKN4llvm8FunctionE@Base 0.11 ++ _ZN4pocl9Workgroup21createLoadFromContextERN4llvm9IRBuilderINS1_14ConstantFolderENS1_24IRBuilderDefaultInserterEEEii@Base 1.3 ++ _ZN4pocl9Workgroup27createFastWorkgroupLauncherEPN4llvm8FunctionE@Base 1.3 ++ _ZN4pocl9Workgroup2IDE@Base 0.10 ++ _ZN4pocl9Workgroup30createDefaultWorkgroupLauncherEPN4llvm8FunctionE@Base 1.3 ++ _ZN4pocl9Workgroup32createArgBufferWorkgroupLauncherEPN4llvm8FunctionENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 1.3 ++ _ZN4pocl9Workgroup33globalHandlesToContextStructLoadsERN4llvm9IRBuilderINS1_14ConstantFolderENS1_24IRBuilderDefaultInserterEEEOKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaISD_EEi@Base 1.3 ++ _ZNK21WorkItemAliasAnalysis16getAnalysisUsageERN4llvm13AnalysisUsageE@Base 0.13 ++ (optional=templinst|arch=!x32)_ZNK4llvm4Pass11getAnalysisIN4pocl26VariableUniformityAnalysisEEERT_v@Base 1.3-5~llvm7 ++ (optional=templinst|arch=!x32)_ZNK4llvm4Pass11getAnalysisINS_19LoopInfoWrapperPassEEERT_v@Base 1.3-5~llvm7 ++ (optional=templinst|arch=!x32)_ZNK4llvm4Pass11getAnalysisINS_24DominatorTreeWrapperPassEEERT_v@Base 1.3-5~llvm7 ++ (optional=templinst|arch=!x32)_ZNK4llvm4Pass11getAnalysisINS_28PostDominatorTreeWrapperPassEEERT_v@Base 1.3-5~llvm7 ++ _ZNK4pocl12LoopBarriers16getAnalysisUsageERN4llvm13AnalysisUsageE@Base 0.10 ++ _ZNK4pocl13PHIsToAllocas16getAnalysisUsageERN4llvm13AnalysisUsageE@Base 0.10 ++ _ZNK4pocl13WorkitemLoops16getAnalysisUsageERN4llvm13AnalysisUsageE@Base 0.10 ++#MISSING: 1.5# (arch=!x32)_ZNK4pocl14AllocasToEntry16getAnalysisUsageERN4llvm13AnalysisUsageE@Base 1.3-5~llvm7 ++ _ZNK4pocl14IsolateRegions16getAnalysisUsageERN4llvm13AnalysisUsageE@Base 0.10 ++ _ZNK4pocl18RemoveBarrierCalls16getAnalysisUsageERN4llvm13AnalysisUsageE@Base 0.14 ++ _ZNK4pocl19WorkitemReplication16getAnalysisUsageERN4llvm13AnalysisUsageE@Base 0.10 ++ _ZNK4pocl20CanonicalizeBarriers16getAnalysisUsageERN4llvm13AnalysisUsageE@Base 0.10 ++ _ZNK4pocl20ImplicitLoopBarriers16getAnalysisUsageERN4llvm13AnalysisUsageE@Base 0.10 ++ _ZNK4pocl22BarrierTailReplication16getAnalysisUsageERN4llvm13AnalysisUsageE@Base 0.10 ++ _ZNK4pocl22WorkitemHandlerChooser16getAnalysisUsageERN4llvm13AnalysisUsageE@Base 0.10 ++ _ZNK4pocl26VariableUniformityAnalysis16getAnalysisUsageERN4llvm13AnalysisUsageE@Base 0.10 ++ _ZNK4pocl26VariableUniformityAnalysis20isUniformityAnalyzedEPN4llvm8FunctionEPNS1_5ValueE@Base 0.10 ++ _ZNK4pocl27HandleSamplerInitialization16getAnalysisUsageERN4llvm13AnalysisUsageE@Base 0.14 ++ _ZNK4pocl27ImplicitConditionalBarriers16getAnalysisUsageERN4llvm13AnalysisUsageE@Base 0.10 ++#MISSING: 1.5# (arch=!x32)_ZNK4pocl9Workgroup16getAnalysisUsageERN4llvm13AnalysisUsageE@Base 1.3-5~llvm7 ++#MISSING: 1.3-3~gcc9# (optional=templinst)_ZNKSt8_Rb_treeIPN4llvm10BasicBlockES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE4findERKS2_@Base 1.1-6~llvm6.0+gcc8 ++#MISSING: 1.3-3~gcc9# (optional=templinst)_ZNSt11_Deque_baseIPN4llvm6RegionESaIS2_EED1Ev@Base 1.1-6~llvm6.0+gcc8 ++#MISSING: 1.3-3~gcc9# (optional=templinst)_ZNSt11_Deque_baseIPN4llvm6RegionESaIS2_EED2Ev@Base 1.1-6~llvm6.0+gcc8 ++#MISSING: 0.14-7~llvm4.0# (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN5clang25ModuleDependencyCollectorESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.10 ++#MISSING: 0.14-7~llvm4.0# (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN5clang25ModuleDependencyCollectorESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.10 ++#MISSING: 0.14-7~llvm4.0# (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN5clang25ModuleDependencyCollectorESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.10 ++#MISSING: 0.14-7~llvm4.0# (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN5clang25ModuleDependencyCollectorESaIS1_ELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.10 ++#MISSING: 0.14-7~llvm4.0# (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN5clang25ModuleDependencyCollectorESaIS1_ELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.10 ++#MISSING: 0.14-7~llvm4.0# (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN5clang25ModuleDependencyCollectorESaIS1_ELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.10 ++#MISSING: 1.5-4~gcc10# (optional=templinst)_ZNSt6vectorIN4llvm3sys2fs18directory_iteratorESaIS3_EE12emplace_backIJS3_EEEvDpOT_@Base 0.10 ++ (optional=templinst)_ZNSt6vectorIN4llvm3sys2fs18directory_iteratorESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_@Base 0.13-9~llvm3.8+gcc7 ++ (optional=templinst)_ZNSt6vectorIN5clang17FrontendInputFileESaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_@Base 0.13-9~llvm3.8+gcc7 ++ (optional=templinst)_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12emplace_backIJS5_EEEvDpOT_@Base 0.11 ++ (optional=templinst)_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_@Base 0.13-9~llvm3.8+gcc7 ++ (optional=templinst)_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_@Base 0.13-9~llvm3.8+gcc7 ++#MISSING: 1.4-5~llvm9# (optional=templinst|arch=armel armhf mips64el powerpc ppc64el)_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED1Ev@Base 1.4 ++#MISSING: 1.4-5~llvm9# (optional=templinst|arch=armel armhf mips64el powerpc ppc64el)_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev@Base 1.4 ++ (optional=templinst)_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_@Base 0.13-9~llvm3.8+gcc7 ++#MISSING: 1.5-4~gcc10# (optional=templinst)_ZNSt6vectorIPN4llvm10BasicBlockESaIS2_EE15_M_range_insertIPS2_EEvN9__gnu_cxx17__normal_iteratorIS6_S4_EET_SA_St20forward_iterator_tag@Base 0.10 ++ (optional=templinst)_ZNSt6vectorIPN4llvm10BasicBlockESaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_@Base 0.13-9~llvm3.8+gcc7 ++ (optional=templinst)_ZNSt6vectorIPN4llvm10BasicBlockESaIS2_EE17_M_realloc_insertIJS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_@Base 0.13-9~llvm3.8+gcc7 ++ (optional=templinst)_ZNSt6vectorIPN4llvm10BasicBlockESaIS2_EE6insertEN9__gnu_cxx17__normal_iteratorIPKS2_S4_EERS7_@Base 0.10 ++ (optional=templinst)_ZNSt6vectorIPN4llvm11InstructionESaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_@Base 0.13-9~llvm3.8+gcc7 ++#MISSING: 0.14-4~llvm3.9# (optional=templinst)_ZNSt6vectorIPN4llvm12MemIntrinsicESaIS2_EE17_M_realloc_insertIJS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_@Base 0.13-9~llvm3.8+gcc7 ++#MISSING: 1.5-4~gcc10# (optional=templinst)_ZNSt6vectorIPN4llvm4TypeESaIS2_EE12emplace_backIJS2_EEEvDpOT_@Base 1.0 ++ (optional=templinst)_ZNSt6vectorIPN4llvm4TypeESaIS2_EE17_M_realloc_insertIJS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_@Base 0.13-9~llvm3.8+gcc7 ++#MISSING: 1.5-4~gcc10# (optional=templinst)_ZNSt6vectorIPN4llvm5ValueESaIS2_EE12emplace_backIJS2_EEEvDpOT_@Base 0.10 ++#MISSING: 1.5-4~gcc10# (optional=templinst)_ZNSt6vectorIPN4llvm5ValueESaIS2_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS2_S4_EEEEvS9_T_SA_St20forward_iterator_tag@Base 0.10 ++ (optional=templinst|subst)_ZNSt6vectorIPN4llvm5ValueESaIS2_EE17_M_default_appendE{size_t}@Base 1.3 ++ (optional=templinst)_ZNSt6vectorIPN4llvm5ValueESaIS2_EE17_M_realloc_insertIJS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_@Base 0.13-9~llvm3.8+gcc7 ++ (optional=templinst)_ZNSt6vectorIPN4llvm8CallInstESaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_@Base 1.0 ++#MISSING: 1.5-4~gcc10# (optional=templinst)_ZNSt6vectorIPN4llvm8ConstantESaIS2_EE12emplace_backIJS2_EEEvDpOT_@Base 0.10 ++ (optional=templinst)_ZNSt6vectorIPN4llvm8ConstantESaIS2_EE17_M_realloc_insertIJS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_@Base 0.13-9~llvm3.8+gcc7 ++ (optional=templinst)_ZNSt6vectorIPN4llvm8FunctionESaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_@Base 0.14 ++ (optional=templinst)_ZNSt6vectorIPN4llvm8FunctionESaIS2_EE17_M_realloc_insertIJS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_@Base 1.3 ++#MISSING: 1.4-5~llvm9# (optional=templinst)_ZNSt7__cxx1110_List_baseINS_12basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE8_M_clearEv@Base 1.3 ++#MISSING: 0.14-7~llvm4.0# (optional=templinst)_ZNSt7__cxx1110_List_baseISt4pairIPvSt10unique_ptrIN4llvm6detail21AnalysisResultConceptINS4_8FunctionEEESt14default_deleteIS8_EEESaISC_EE8_M_clearEv@Base 0.13-3~llvm3.8 ++ (optional=templinst|subst)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceE{size_t}{size_t}PKc{size_t}@Base 1.6-2~hardening ++ (optional=templinst|arch=mipsel)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag@Base 1.1-6~llvm6.0+gcc8 ++#MISSING: 1.5-4~gcc10# (optional=templinst)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag@Base 1.1-6~llvm6.0+gcc8 ++ (optional=templinst)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4swapERS4_@Base 1.6-2~hardening ++ (optional=templinst|subst)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_appendEPKc{size_t}@Base 1.6-2~hardening ++ (optional=templinst)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_@Base 1.6-2~hardening ++ (optional=templinst|subst)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateE{size_t}{size_t}PKc{size_t}@Base 1.6-2~hardening ++ (optional=templinst)_ZNSt7__cxx114listIN4llvm9StringRefESaIS2_EE4sortIPFbS2_S2_EEEvT_@Base 0.11 ++ (optional=templinst)_ZNSt7__cxx114listIN4llvm9StringRefESaIS2_EE5mergeIPFbS2_S2_EEEvOS4_T_@Base 0.11 ++#MISSING: 0.14-7~llvm4.0# (optional=templinst)_ZNSt8_Rb_treeIN4llvm9StringRefESt4pairIKS1_NS0_11TargetRecip11RecipParamsEESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E@Base 0.12-5~llvm3.7 ++ (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St9_IdentityIS5_ESt4lessIS5_ESaIS5_EE24_M_get_insert_unique_posERKS5_@Base 1.0 ++ (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St9_IdentityIS5_ESt4lessIS5_ESaIS5_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERKS5_@Base 1.0 ++ (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St9_IdentityIS5_ESt4lessIS5_ESaIS5_EE8_M_eraseEPSt13_Rb_tree_nodeIS5_E@Base 1.0 ++ (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_PN4llvm11InstructionEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE24_M_get_insert_unique_posERS7_@Base 0.11 ++ (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_PN4llvm11InstructionEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorISB_ERS7_@Base 0.11 ++#MISSING: 1.5-4~gcc10# (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_PN4llvm11InstructionEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE8_M_eraseEPSt13_Rb_tree_nodeISB_E@Base 0.11 ++ (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E@Base 1.1-2~llvm5.0 ++#MISSING: 1.5-4~gcc10# (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St6vectorIPN4llvm8CallInstESaISB_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS7_EESP_IJEEEEESt17_Rb_tree_iteratorISE_ESt23_Rb_tree_const_iteratorISE_EDpOT_@Base 1.1-6~llvm6.0+gcc8 ++ (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St6vectorIPN4llvm8CallInstESaISB_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE24_M_get_insert_unique_posERS7_@Base 1.0 ++ (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St6vectorIPN4llvm8CallInstESaISB_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorISE_ERS7_@Base 1.0 ++ (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St6vectorIPN4llvm8CallInstESaISB_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE8_M_eraseEPSt13_Rb_tree_nodeISE_E@Base 1.0 ++ (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE24_M_get_insert_unique_posERS7_@Base 0.11 ++ (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS8_ERS7_@Base 0.11 ++#MISSING: 1.5-4~gcc10# (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E@Base 0.11 ++ (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE24_M_get_insert_unique_posERS7_@Base 1.0 ++ (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS8_ERS7_@Base 1.0 ++#MISSING: 1.5-4~gcc10# (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E@Base 1.0 ++#MISSING: 1.5-4~gcc10# (optional=templinst)_ZNSt8_Rb_treeIP13_cl_device_idSt4pairIKS1_PN4llvm13TargetMachineEESt10_Select1stIS7_ESt4lessIS1_ESaIS7_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS3_EESI_IJEEEEESt17_Rb_tree_iteratorIS7_ESt23_Rb_tree_const_iteratorIS7_EDpOT_@Base 1.1-6~llvm6.0+gcc8 ++ (optional=templinst)_ZNSt8_Rb_treeIP13_cl_device_idSt4pairIKS1_PN4llvm13TargetMachineEESt10_Select1stIS7_ESt4lessIS1_ESaIS7_EE24_M_get_insert_unique_posERS3_@Base 1.0 ++ (optional=templinst)_ZNSt8_Rb_treeIP13_cl_device_idSt4pairIKS1_PN4llvm13TargetMachineEESt10_Select1stIS7_ESt4lessIS1_ESaIS7_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS7_ERS3_@Base 1.0 ++#MISSING: 1.5-4~gcc10# (optional=templinst)_ZNSt8_Rb_treeIP13_cl_device_idSt4pairIKS1_PN4llvm13TargetMachineEESt10_Select1stIS7_ESt4lessIS1_ESaIS7_EE8_M_eraseEPSt13_Rb_tree_nodeIS7_E@Base 1.0 ++#MISSING: 1.5-4~gcc10# (optional=templinst|arch=!arm64)_ZNSt8_Rb_treeIP13_cl_device_idSt4pairIKS1_PN4llvm6ModuleEESt10_Select1stIS7_ESt4lessIS1_ESaIS7_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS3_EESI_IJEEEEESt17_Rb_tree_iteratorIS7_ESt23_Rb_tree_const_iteratorIS7_EDpOT_@Base 1.1-6~llvm6.0+gcc8 ++ (optional=templinst)_ZNSt8_Rb_treeIP13_cl_device_idSt4pairIKS1_PN4llvm6ModuleEESt10_Select1stIS7_ESt4lessIS1_ESaIS7_EE24_M_get_insert_unique_posERS3_@Base 0.10 ++ (optional=templinst)_ZNSt8_Rb_treeIP13_cl_device_idSt4pairIKS1_PN4llvm6ModuleEESt10_Select1stIS7_ESt4lessIS1_ESaIS7_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS7_ERS3_@Base 0.10 ++#MISSING: 1.5-4~gcc10# (optional=templinst)_ZNSt8_Rb_treeIP13_cl_device_idSt4pairIKS1_PN4llvm6ModuleEESt10_Select1stIS7_ESt4lessIS1_ESaIS7_EE8_M_eraseEPSt13_Rb_tree_nodeIS7_E@Base 0.10 ++#MISSING: 1.5-4~gcc10# (optional=templinst|arch=any-i386 armel armhf mipsel powerpc ppc64 s390x)_ZNSt8_Rb_treeIP13_cl_device_idSt4pairIKS1_PN4llvm6legacy11PassManagerEESt10_Select1stIS8_ESt4lessIS1_ESaIS8_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS3_EESJ_IJEEEEESt17_Rb_tree_iteratorIS8_ESt23_Rb_tree_const_iteratorIS8_EDpOT_@Base 1.1-6~llvm6.0+gcc8 ++ (optional=templinst)_ZNSt8_Rb_treeIP13_cl_device_idSt4pairIKS1_PN4llvm6legacy11PassManagerEESt10_Select1stIS8_ESt4lessIS1_ESaIS8_EE24_M_get_insert_unique_posERS3_@Base 0.10 ++ (optional=templinst)_ZNSt8_Rb_treeIP13_cl_device_idSt4pairIKS1_PN4llvm6legacy11PassManagerEESt10_Select1stIS8_ESt4lessIS1_ESaIS8_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS8_ERS3_@Base 0.10 ++#MISSING: 1.5-4~gcc10# (optional=templinst)_ZNSt8_Rb_treeIP13_cl_device_idSt4pairIKS1_PN4llvm6legacy11PassManagerEESt10_Select1stIS8_ESt4lessIS1_ESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E@Base 0.10 ++ (optional=templinst)_ZNSt8_Rb_treeIPN4llvm10BasicBlockES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE16_M_insert_uniqueIRKS2_EESt4pairISt17_Rb_tree_iteratorIS2_EbEOT_@Base 0.10 ++#MISSING: 1.3-3~gcc9# (optional=templinst|arch=amd64 arm64 x32)_ZNSt8_Rb_treeIPN4llvm10BasicBlockES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE16_M_insert_uniqueIS2_EESt4pairISt17_Rb_tree_iteratorIS2_EbEOT_@Base 0.13-6~llvm3.8+gcc6 ++ (optional=templinst)_ZNSt8_Rb_treeIPN4llvm10BasicBlockES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE24_M_get_insert_unique_posERKS2_@Base 0.13-6~llvm3.8+gcc6 ++#MISSING: 1.3-3~gcc9# (optional=templinst)_ZNSt8_Rb_treeIPN4llvm10BasicBlockES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE4findERKS2_@Base 1.1-6~llvm6.0+gcc8 ++#MISSING: 1.5-4~gcc10# (optional=templinst)_ZNSt8_Rb_treeIPN4llvm10BasicBlockES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE8_M_eraseEPSt13_Rb_tree_nodeIS2_E@Base 0.10 ++#MISSING: 1.5-4~gcc10# (optional=templinst)_ZNSt8_Rb_treeIPN4llvm10BasicBlockESt4pairIKS2_iESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJOS2_EESG_IJEEEEESt17_Rb_tree_iteratorIS5_ESt23_Rb_tree_const_iteratorIS5_EDpOT_@Base 1.1-6~llvm6.0+gcc8 ++ (optional=templinst)_ZNSt8_Rb_treeIPN4llvm10BasicBlockESt4pairIKS2_iESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE24_M_get_insert_unique_posERS4_@Base 0.10 ++ (optional=templinst|arch=!any-i386 !armel !armhf !mipsel !powerpc !ppc64 !s390x)_ZNSt8_Rb_treeIPN4llvm10BasicBlockESt4pairIKS2_iESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4_@Base 0.10 ++ (optional=templinst)_ZNSt8_Rb_treeIPN4llvm10BasicBlockESt4pairIKS2_iESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE8_M_eraseEPSt13_Rb_tree_nodeIS5_E@Base 0.10 ++ (optional=templinst)_ZNSt8_Rb_treeIPN4llvm11InstructionES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE16_M_insert_uniqueIRKS2_EESt4pairISt17_Rb_tree_iteratorIS2_EbEOT_@Base 1.1-6~llvm6.0+gcc8 ++#MISSING: 1.3# (optional=templinst)_ZNSt8_Rb_treeIPN4llvm11InstructionES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE16_M_insert_uniqueIS2_EESt4pairISt17_Rb_tree_iteratorIS2_EbEOT_@Base 0.10 ++ (optional=templinst)_ZNSt8_Rb_treeIPN4llvm11InstructionES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE8_M_eraseEPSt13_Rb_tree_nodeIS2_E@Base 0.10 ++#MISSING: 1.5-4~gcc10# (optional=templinst|arch=any-i386 armel armhf mipsel powerpc ppc64 s390x)_ZNSt8_Rb_treeIPN4llvm11InstructionESt4pairIKS2_jESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS4_EESG_IJEEEEESt17_Rb_tree_iteratorIS5_ESt23_Rb_tree_const_iteratorIS5_EDpOT_@Base 1.1-6~llvm6.0+gcc8 ++ (optional=templinst)_ZNSt8_Rb_treeIPN4llvm11InstructionESt4pairIKS2_jESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE24_M_get_insert_unique_posERS4_@Base 0.10 ++ (optional=templinst)_ZNSt8_Rb_treeIPN4llvm11InstructionESt4pairIKS2_jESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4_@Base 0.10 ++#MISSING: 1.5-4~gcc10# (optional=templinst)_ZNSt8_Rb_treeIPN4llvm11InstructionESt4pairIKS2_jESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE8_M_eraseEPSt13_Rb_tree_nodeIS5_E@Base 0.10 ++#MISSING: 0.14-4~llvm3.9# (optional=templinst)_ZNSt8_Rb_treeIPN4llvm4TypeESt4pairIKS2_PNS0_10StructTypeEESt10_Select1stIS7_ESt4lessIS2_ESaIS7_EE24_M_get_insert_unique_posERS4_@Base 0.13 ++#MISSING: 0.14-4~llvm3.9# (optional=templinst|arch=!any-i386 !armel !armhf !mipsel !s390x)_ZNSt8_Rb_treeIPN4llvm4TypeESt4pairIKS2_PNS0_10StructTypeEESt10_Select1stIS7_ESt4lessIS2_ESaIS7_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS7_ERS4_@Base 0.13 ++#MISSING: 0.14-4~llvm3.9# (optional=templinst)_ZNSt8_Rb_treeIPN4llvm4TypeESt4pairIKS2_PNS0_10StructTypeEESt10_Select1stIS7_ESt4lessIS2_ESaIS7_EE8_M_eraseEPSt13_Rb_tree_nodeIS7_E@Base 0.13 ++ (optional=templinst)_ZNSt8_Rb_treeIPN4llvm5ValueESt4pairIKS2_bESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE24_M_get_insert_unique_posERS4_@Base 0.10 ++ (optional=templinst|arch=!any-i386 !armel !armhf !mipsel !powerpc !ppc64 !s390x)_ZNSt8_Rb_treeIPN4llvm5ValueESt4pairIKS2_bESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4_@Base 0.10 ++#MISSING: 1.3-3~gcc9# (optional=templinst)_ZNSt8_Rb_treeIPN4llvm5ValueESt4pairIKS2_bESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE4findERS4_@Base 1.1-6~llvm6.0+gcc8 ++#MISSING: 1.5-4~gcc10# (optional=templinst)_ZNSt8_Rb_treeIPN4llvm5ValueESt4pairIKS2_bESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE7_M_copyINSB_11_Alloc_nodeEEEPSt13_Rb_tree_nodeIS5_EPKSF_PSt18_Rb_tree_node_baseRT_@Base 0.13-6~llvm3.8+gcc6 ++#MISSING: 1.5-4~gcc10# (optional=templinst)_ZNSt8_Rb_treeIPN4llvm5ValueESt4pairIKS2_bESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE8_M_eraseEPSt13_Rb_tree_nodeIS5_E@Base 0.10 ++ (optional=templinst|arch=!x32)_ZNSt8_Rb_treeIPN4llvm8CallInstES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE16_M_insert_uniqueIRKS2_EESt4pairISt17_Rb_tree_iteratorIS2_EbEOT_@Base 0.14-7~llvm4.0 ++ (optional=templinst)_ZNSt8_Rb_treeIPN4llvm8CallInstES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE8_M_eraseEPSt13_Rb_tree_nodeIS2_E@Base 0.14-7~llvm4.0 ++#MISSING: 1.5-4~gcc10# (optional=templinst)_ZNSt8_Rb_treeIPN4llvm8FunctionESt4pairIKS2_S2_ESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE14_M_insert_nodeEPSt18_Rb_tree_node_baseSD_PSt13_Rb_tree_nodeIS5_E@Base 1.2 ++#MISSING: 1.5-4~gcc10# (optional=templinst|arch=any-i386 armel armhf mipsel powerpc ppc64 s390x)_ZNSt8_Rb_treeIPN4llvm8FunctionESt4pairIKS2_S2_ESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJOS2_EESG_IJEEEEESt17_Rb_tree_iteratorIS5_ESt23_Rb_tree_const_iteratorIS5_EDpOT_@Base 1.1-6~llvm6.0+gcc8 ++#MISSING: 1.5-4~gcc10# (optional=templinst|arch=any-i386 armel armhf mipsel powerpc ppc64 s390x)_ZNSt8_Rb_treeIPN4llvm8FunctionESt4pairIKS2_S2_ESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS4_EESG_IJEEEEESt17_Rb_tree_iteratorIS5_ESt23_Rb_tree_const_iteratorIS5_EDpOT_@Base 1.1-6~llvm6.0+gcc8 ++ (optional=templinst)_ZNSt8_Rb_treeIPN4llvm8FunctionESt4pairIKS2_S2_ESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE24_M_get_insert_unique_posERS4_@Base 0.10 ++ (optional=templinst|arch=!any-i386 !armel !armhf !mipsel !powerpc !ppc64 !s390x)_ZNSt8_Rb_treeIPN4llvm8FunctionESt4pairIKS2_S2_ESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4_@Base 0.10 ++ (optional=templinst)_ZNSt8_Rb_treeIPN4llvm8FunctionESt4pairIKS2_S2_ESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE8_M_eraseEPSt13_Rb_tree_nodeIS5_E@Base 0.10 ++#MISSING: 1.5-4~gcc10# (optional=templinst)_ZNSt8_Rb_treeIPN4llvm8FunctionESt4pairIKS2_St3mapIPNS0_5ValueEbSt4lessIS7_ESaIS3_IKS7_bEEEESt10_Select1stISE_ES8_IS2_ESaISE_EE14_M_insert_nodeEPSt18_Rb_tree_node_baseSL_PSt13_Rb_tree_nodeISE_E@Base 0.10 ++#MISSING: 1.5-4~gcc10# (optional=templinst)_ZNSt8_Rb_treeIPN4llvm8FunctionESt4pairIKS2_St3mapIPNS0_5ValueEbSt4lessIS7_ESaIS3_IKS7_bEEEESt10_Select1stISE_ES8_IS2_ESaISE_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS4_EESO_IJEEEEESt17_Rb_tree_iteratorISE_ESt23_Rb_tree_const_iteratorISE_EDpOT_@Base 1.1-6~llvm6.0+gcc8 ++ (optional=templinst)_ZNSt8_Rb_treeIPN4llvm8FunctionESt4pairIKS2_St3mapIPNS0_5ValueEbSt4lessIS7_ESaIS3_IKS7_bEEEESt10_Select1stISE_ES8_IS2_ESaISE_EE24_M_get_insert_unique_posERS4_@Base 0.10 ++ (optional=templinst)_ZNSt8_Rb_treeIPN4llvm8FunctionESt4pairIKS2_St3mapIPNS0_5ValueEbSt4lessIS7_ESaIS3_IKS7_bEEEESt10_Select1stISE_ES8_IS2_ESaISE_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorISE_ERS4_@Base 0.10 ++#MISSING: 1.5-4~gcc10# (optional=templinst)_ZNSt8_Rb_treeIPN4llvm8FunctionESt4pairIKS2_St3mapIPNS0_5ValueEbSt4lessIS7_ESaIS3_IKS7_bEEEESt10_Select1stISE_ES8_IS2_ESaISE_EE7_M_copyINSJ_11_Alloc_nodeEEEPSt13_Rb_tree_nodeISE_EPKSN_PSt18_Rb_tree_node_baseRT_@Base 0.13-6~llvm3.8+gcc6 ++#MISSING: 1.5-4~gcc10# (optional=templinst)_ZNSt8_Rb_treeIPN4llvm8FunctionESt4pairIKS2_St3mapIPNS0_5ValueEbSt4lessIS7_ESaIS3_IKS7_bEEEESt10_Select1stISE_ES8_IS2_ESaISE_EE7_M_copyINSJ_20_Reuse_or_alloc_nodeEEEPSt13_Rb_tree_nodeISE_EPKSN_PSt18_Rb_tree_node_baseRT_@Base 0.13-6~llvm3.8+gcc6 ++ (optional=templinst)_ZNSt8_Rb_treeIPN4llvm8FunctionESt4pairIKS2_St3mapIPNS0_5ValueEbSt4lessIS7_ESaIS3_IKS7_bEEEESt10_Select1stISE_ES8_IS2_ESaISE_EE8_M_eraseEPSt13_Rb_tree_nodeISE_E@Base 0.10 ++#MISSING: 0.13-6~llvm3.8+gcc6# (optional=templinst)_ZNSt8_Rb_treeIPN4pocl14ParallelRegionESt4pairIKS2_bESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE22_M_emplace_hint_uniqueIIRKSt21piecewise_construct_tSt5tupleIIRS4_EESG_IIEEEEESt17_Rb_tree_iteratorIS5_ESt23_Rb_tree_const_iteratorIS5_EDpOT_@Base 0.10 ++#MISSING: 1.5-4~gcc10# (optional=templinst)_ZNSt8_Rb_treeIPN4pocl14ParallelRegionESt4pairIKS2_bESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS4_EESG_IJEEEEESt17_Rb_tree_iteratorIS5_ESt23_Rb_tree_const_iteratorIS5_EDpOT_@Base 0.10 ++ (optional=templinst)_ZNSt8_Rb_treeIPN4pocl14ParallelRegionESt4pairIKS2_bESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE24_M_get_insert_unique_posERS4_@Base 0.10 ++ (optional=templinst|arch=!any-i386 !armel !armhf !mipsel !powerpc !ppc64 !s390x)_ZNSt8_Rb_treeIPN4pocl14ParallelRegionESt4pairIKS2_bESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4_@Base 0.10 ++ (optional=templinst)_ZNSt8_Rb_treeIPN4pocl14ParallelRegionESt4pairIKS2_bESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE8_M_eraseEPSt13_Rb_tree_nodeIS5_E@Base 0.10 ++#MISSING: 0.14-4~llvm3.9# (optional=templinst)_ZNSt8_Rb_treeIjSt4pairIKjjESt10_Select1stIS2_ESt4lessIjESaIS2_EE14_M_insert_nodeEPSt18_Rb_tree_node_baseSA_PSt13_Rb_tree_nodeIS2_E@Base 0.10 ++#MISSING: 0.14-4~llvm3.9# (optional=templinst)_ZNSt8_Rb_treeIjSt4pairIKjjESt10_Select1stIS2_ESt4lessIjESaIS2_EE24_M_get_insert_unique_posERS1_@Base 0.10 ++#MISSING: 0.14-4~llvm3.9# (optional=templinst)_ZNSt8_Rb_treeIjSt4pairIKjjESt10_Select1stIS2_ESt4lessIjESaIS2_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS2_ERS1_@Base 0.10 ++#MISSING: 0.14-4~llvm3.9# (optional=templinst)_ZNSt8_Rb_treeIjSt4pairIKjjESt10_Select1stIS2_ESt4lessIjESaIS2_EE8_M_eraseEPSt13_Rb_tree_nodeIS2_E@Base 0.10 ++#MISSING: 1.5-4~gcc10# (optional=templinst|arch=any-amd64 arm64 s390x)_ZSt11__make_heapIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEENS0_5__ops15_Iter_less_iterEEvT_SF_RT0_@Base 0.13-9~llvm3.8+gcc7 ++#MISSING: 1.5-4~gcc10# (optional=templinst|subst)_ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEE{ssize_t}S7_NS0_5__ops15_Iter_less_iterEEvT_T0_SG_T1_T2_@Base 0.12 ++#MISSING: 1.5-4~gcc10# (optional=templinst)_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEENS0_5__ops15_Iter_less_iterEEvT_SF_T0_@Base 0.12 ++#MISSING: 1.5-4~gcc10# (optional=templinst)_ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEENS0_5__ops14_Val_less_iterEEvT_T0_@Base 1.1 ++#MISSING: 1.5-4~gcc10# (optional=templinst|arch=any-i386 mipsel powerpc ppc64 s390x)_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPPN4llvm10BasicBlockESt6vectorIS4_SaIS4_EEEENS0_5__ops16_Iter_equals_valIKS4_EEET_SE_SE_T0_St26random_access_iterator_tag@Base 0.10 ++ (optional=templinst)_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_@Base 1.6-2~hardening ++ _ZTI17BreakConstantGEPs@Base 0.12-5~llvm3.7 ++ _ZTI21WorkItemAliasAnalysis@Base 0.13 ++#MISSING: 1.1-2~llvm5.0# _ZTIN4llvm10SelectInstE@Base 0.12-5~llvm3.7 ++#MISSING: 1.3-5~llvm7# _ZTIN4llvm17raw_pwrite_streamE@Base 0.13-3~llvm3.8 ++ _ZTIN4llvm18ValueMapCallbackVHIPKNS_5ValueENS_14WeakTrackingVHENS_14ValueMapConfigIS3_NS_3sys10SmartMutexILb0EEEEEEE@Base 1.1-2~llvm5.0 ++#MISSING: 1.1-2~llvm5.0# _ZTIN4llvm18ValueMapCallbackVHIPKNS_5ValueENS_6WeakVHENS_14ValueMapConfigIS3_NS_3sys10SmartMutexILb0EEEEEEE@Base 0.10 ++ _ZTIN4llvm2cl11OptionValueIbEE@Base 0.12-5~llvm3.7 ++ _ZTIN4llvm2cl15OptionValueBaseIbLb0EEE@Base 0.12-5~llvm3.7 ++ _ZTIN4llvm2cl15OptionValueCopyINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE@Base 0.12-5~llvm3.7 ++ _ZTIN4llvm2cl15OptionValueCopyIbEE@Base 0.12-5~llvm3.7 ++#MISSING: 1.5-4~gcc10# _ZTIN4llvm3Any11StorageBaseE@Base 1.3-8~gcc9+llvm8 ++#MISSING: 1.5-4~gcc10# _ZTIN4llvm3Any11StorageImplIPKNS_8FunctionEEE@Base 1.3-8~gcc9+llvm8 ++ _ZTIN4llvm3opt7ArgListE@Base 1.3 ++ _ZTIN4pocl12LoopBarriersE@Base 0.12-5~llvm3.7 ++ _ZTIN4pocl13PHIsToAllocasE@Base 0.12-5~llvm3.7 ++ _ZTIN4pocl13WorkitemLoopsE@Base 0.12-5~llvm3.7 ++ _ZTIN4pocl14AllocasToEntryE@Base 0.12-5~llvm3.7 ++ _ZTIN4pocl14IsolateRegionsE@Base 0.12-5~llvm3.7 ++ _ZTIN4pocl15WorkitemHandlerE@Base 0.12-5~llvm3.7 ++ _ZTIN4pocl18RemoveBarrierCallsE@Base 0.14 ++#MISSING: 0.14-4~llvm3.9# _ZTIN4pocl19TargetAddressSpacesE@Base 0.12-5~llvm3.7 ++ _ZTIN4pocl19WorkitemReplicationE@Base 0.12-5~llvm3.7 ++ _ZTIN4pocl20CanonicalizeBarriersE@Base 0.12-5~llvm3.7 ++ _ZTIN4pocl20ImplicitLoopBarriersE@Base 0.12-5~llvm3.7 ++ _ZTIN4pocl22BarrierTailReplicationE@Base 0.12-5~llvm3.7 ++ _ZTIN4pocl22WorkitemHandlerChooserE@Base 0.12-5~llvm3.7 ++ _ZTIN4pocl23RemoveOptnoneFromWIFuncE@Base 1.0 ++ _ZTIN4pocl25OptimizeWorkItemFuncCallsE@Base 1.0 ++ _ZTIN4pocl26VariableUniformityAnalysisE@Base 0.12-5~llvm3.7 ++ _ZTIN4pocl27HandleSamplerInitializationE@Base 0.14 ++ _ZTIN4pocl27ImplicitConditionalBarriersE@Base 0.12-5~llvm3.7 ++ _ZTIN4pocl9WorkgroupE@Base 0.12-5~llvm3.7 ++ (arch=armel riscv64)_ZTIN9__gnu_cxx7__mutexE@Base 1.4-5~llvm9 ++ (arch=armel riscv64)_ZTISt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE1EE@Base 0.10 ++ (arch=!armel !riscv64)_ZTISt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE@Base 0.10 ++ (arch=armel riscv64)_ZTISt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE1EE@Base 0.10 ++ (arch=!armel !riscv64)_ZTISt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE@Base 0.10 ++ (arch=armel armhf)_ZTISt19_Sp_make_shared_tag@Base 0.10 ++ (arch=armel riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail12DirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.14-7~llvm4.0 ++ (arch=!armel !riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail12DirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.14-7~llvm4.0 ++ (arch=armel riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail15RecDirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.14-7~llvm4.0 ++ (arch=!armel !riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail15RecDirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.14-7~llvm4.0 ++ (arch=armel riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5clang22PCHContainerOperationsESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.12-5~llvm3.7 ++ (arch=!armel !riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5clang22PCHContainerOperationsESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.12-5~llvm3.7 ++ _ZTS17BreakConstantGEPs@Base 0.12-5~llvm3.7 ++ _ZTS21WorkItemAliasAnalysis@Base 0.13 ++#MISSING: 1.1-2~llvm5.0# _ZTSN4llvm10SelectInstE@Base 0.12-5~llvm3.7 ++#MISSING: 1.3-5~llvm7# _ZTSN4llvm17raw_pwrite_streamE@Base 0.13-3~llvm3.8 ++ _ZTSN4llvm18ValueMapCallbackVHIPKNS_5ValueENS_14WeakTrackingVHENS_14ValueMapConfigIS3_NS_3sys10SmartMutexILb0EEEEEEE@Base 1.1-2~llvm5.0 ++#MISSING: 1.1-2~llvm5.0# _ZTSN4llvm18ValueMapCallbackVHIPKNS_5ValueENS_6WeakVHENS_14ValueMapConfigIS3_NS_3sys10SmartMutexILb0EEEEEEE@Base 0.10 ++ _ZTSN4llvm2cl11OptionValueIbEE@Base 0.12-5~llvm3.7 ++ _ZTSN4llvm2cl15OptionValueBaseIbLb0EEE@Base 0.12-5~llvm3.7 ++ _ZTSN4llvm2cl15OptionValueCopyINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE@Base 0.12-5~llvm3.7 ++ _ZTSN4llvm2cl15OptionValueCopyIbEE@Base 0.12-5~llvm3.7 ++#MISSING: 1.5-4~gcc10# _ZTSN4llvm3Any11StorageBaseE@Base 1.3-8~gcc9+llvm8 ++#MISSING: 1.5-4~gcc10# _ZTSN4llvm3Any11StorageImplIPKNS_8FunctionEEE@Base 1.3-8~gcc9+llvm8 ++ _ZTSN4llvm3opt7ArgListE@Base 1.3 ++ _ZTSN4pocl12LoopBarriersE@Base 0.12-5~llvm3.7 ++ _ZTSN4pocl13PHIsToAllocasE@Base 0.12-5~llvm3.7 ++ _ZTSN4pocl13WorkitemLoopsE@Base 0.12-5~llvm3.7 ++ _ZTSN4pocl14AllocasToEntryE@Base 0.12-5~llvm3.7 ++ _ZTSN4pocl14IsolateRegionsE@Base 0.12-5~llvm3.7 ++ _ZTSN4pocl15WorkitemHandlerE@Base 0.12-5~llvm3.7 ++ _ZTSN4pocl18RemoveBarrierCallsE@Base 0.14 ++#MISSING: 0.14-4~llvm3.9# _ZTSN4pocl19TargetAddressSpacesE@Base 0.12-5~llvm3.7 ++ _ZTSN4pocl19WorkitemReplicationE@Base 0.12-5~llvm3.7 ++ _ZTSN4pocl20CanonicalizeBarriersE@Base 0.12-5~llvm3.7 ++ _ZTSN4pocl20ImplicitLoopBarriersE@Base 0.12-5~llvm3.7 ++ _ZTSN4pocl22BarrierTailReplicationE@Base 0.12-5~llvm3.7 ++ _ZTSN4pocl22WorkitemHandlerChooserE@Base 0.12-5~llvm3.7 ++ _ZTSN4pocl23RemoveOptnoneFromWIFuncE@Base 1.0 ++ _ZTSN4pocl25OptimizeWorkItemFuncCallsE@Base 1.0 ++ _ZTSN4pocl26VariableUniformityAnalysisE@Base 0.12-5~llvm3.7 ++ _ZTSN4pocl27HandleSamplerInitializationE@Base 0.14 ++ _ZTSN4pocl27ImplicitConditionalBarriersE@Base 0.12-5~llvm3.7 ++ _ZTSN4pocl9WorkgroupE@Base 0.12-5~llvm3.7 ++ (arch=armel riscv64)_ZTSN9__gnu_cxx7__mutexE@Base 1.0 ++ (arch=armel riscv64)_ZTSSt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE1EE@Base 0.10 ++ (arch=!armel !riscv64)_ZTSSt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE@Base 0.10 ++ (arch=armel riscv64)_ZTSSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE1EE@Base 0.10 ++ (arch=!armel !riscv64)_ZTSSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE@Base 0.10 ++ _ZTSSt19_Sp_make_shared_tag@Base 0.10 ++ (arch=armel riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail12DirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.14-7~llvm4.0 ++ (arch=!armel !riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail12DirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.14-7~llvm4.0 ++ (arch=armel riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail15RecDirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.14-7~llvm4.0 ++ (arch=!armel !riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail15RecDirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.14-7~llvm4.0 ++ (arch=armel riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5clang22PCHContainerOperationsESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.12-5~llvm3.7 ++ (arch=!armel !riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5clang22PCHContainerOperationsESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.12-5~llvm3.7 ++ _ZTV17BreakConstantGEPs@Base 0.10 ++ _ZTV21WorkItemAliasAnalysis@Base 0.13 ++#MISSING: 1.1-2~llvm5.0# _ZTVN4llvm10SelectInstE@Base 0.12-5~llvm3.7 ++#MISSING: 1.3-5~llvm7# _ZTVN4llvm17raw_pwrite_streamE@Base 0.13-3~llvm3.8 ++ _ZTVN4llvm18ValueMapCallbackVHIPKNS_5ValueENS_14WeakTrackingVHENS_14ValueMapConfigIS3_NS_3sys10SmartMutexILb0EEEEEEE@Base 1.1-2~llvm5.0 ++#MISSING: 1.1-2~llvm5.0# _ZTVN4llvm18ValueMapCallbackVHIPKNS_5ValueENS_6WeakVHENS_14ValueMapConfigIS3_NS_3sys10SmartMutexILb0EEEEEEE@Base 0.10 ++ _ZTVN4llvm2cl11OptionValueIbEE@Base 0.10 ++ _ZTVN4llvm2cl15OptionValueCopyINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE@Base 0.11 ++#MISSING: 1.5-4~gcc10# _ZTVN4llvm3Any11StorageImplIPKNS_8FunctionEEE@Base 1.3-8~gcc9+llvm8 ++ _ZTVN4llvm3opt7ArgListE@Base 1.3 ++ _ZTVN4pocl12LoopBarriersE@Base 0.10 ++ _ZTVN4pocl13PHIsToAllocasE@Base 0.10 ++ _ZTVN4pocl13WorkitemLoopsE@Base 0.10 ++ _ZTVN4pocl14AllocasToEntryE@Base 0.10 ++ _ZTVN4pocl14IsolateRegionsE@Base 0.10 ++ _ZTVN4pocl15WorkitemHandlerE@Base 0.10 ++ _ZTVN4pocl18RemoveBarrierCallsE@Base 0.14 ++#MISSING: 0.14-4~llvm3.9# _ZTVN4pocl19TargetAddressSpacesE@Base 0.10 ++ _ZTVN4pocl19WorkitemReplicationE@Base 0.10 ++ _ZTVN4pocl20CanonicalizeBarriersE@Base 0.10 ++ _ZTVN4pocl20ImplicitLoopBarriersE@Base 0.10 ++ _ZTVN4pocl22BarrierTailReplicationE@Base 0.10 ++ _ZTVN4pocl22WorkitemHandlerChooserE@Base 0.10 ++ _ZTVN4pocl23RemoveOptnoneFromWIFuncE@Base 1.0 ++ _ZTVN4pocl25OptimizeWorkItemFuncCallsE@Base 1.0 ++ _ZTVN4pocl26VariableUniformityAnalysisE@Base 0.10 ++ _ZTVN4pocl27HandleSamplerInitializationE@Base 0.14 ++ _ZTVN4pocl27ImplicitConditionalBarriersE@Base 0.10 ++ _ZTVN4pocl9WorkgroupE@Base 0.10 ++ (arch=armel riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail12DirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.14-7~llvm4.0 ++ (arch=!armel !riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail12DirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.14-7~llvm4.0 ++ (arch=armel riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail15RecDirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.14-7~llvm4.0 ++ (arch=!armel !riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail15RecDirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.14-7~llvm4.0 ++ (arch=armel riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5clang22PCHContainerOperationsESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.12-5~llvm3.7 ++ (arch=!armel !riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5clang22PCHContainerOperationsESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.12-5~llvm3.7 ++ _ZZNSt19_Sp_make_shared_tag5_S_tiEvE5__tag@Base 1.1-8~llvm6.0+gcc8.2 ++#MISSING: 0.14# check_compiler_cache@Base 0.10 ++ clGetExtensionFunctionAddress@Base 0.10 ++ clGetExtensionFunctionAddressForPlatform@Base 1.0 ++ cl_context_count@Base 1.1 ++#MISSING: 0.14# context_set_properties@Base 0.10 ++#MISSING: 0.14# cpufreq_file@Base 0.10 ++#MISSING: 0.14# cpuinfo@Base 0.10 ++#MISSING: 1.0# create_workitem_aa_plugin@Base 0.10 ++#MISSING: 1.0# currentPoclDevice@Base 0.14 ++ fill_dev_image_t@Base 1.6 ++ fill_dev_sampler_t@Base 1.6 ++#MISSING: 0.14# find_env@Base 0.10 ++#MISSING: 0.14# get_cpu_name@Base 0.13 ++ get_llvm_cpu_name@Base 1.6 ++#MISSING: 0.14# llvm_codegen@Base 0.10 ++#MISSING: 0.13-3~llvm3.8# (c++)"non-virtual thunk to WorkItemAliasAnalysis::alias(llvm::MemoryLocation const&, llvm::MemoryLocation const&)@Base" 0.13 ++#MISSING: 0.13-3~llvm3.8# (c++)"non-virtual thunk to WorkItemAliasAnalysis::getAnalysisUsage(llvm::AnalysisUsage&) const@Base" 0.13 ++#MISSING: 0.12# pocl_SHA1_Final@Base 0.11 ++#MISSING: 0.12# pocl_SHA1_Init@Base 0.11 ++#MISSING: 0.12# pocl_SHA1_Update@Base 0.11 ++ pocl_aligned_malloc@Base 1.6 ++ pocl_aligned_malloc_global_mem@Base 1.6 ++#MISSING: 0.12# pocl_basic_malloc@Base 0.11 ++#MISSING: 0.13# pocl_basic_set_buffer_image_limits@Base 0.12 ++ pocl_broadcast@Base 1.6 ++ pocl_check_kernel_dlhandle_cache@Base 1.6 ++#MISSING: 0.11# pocl_command_enqueue@Base 0.10 ++ pocl_command_push@Base 1.6 ++#MISSING: 0.14# pocl_compact_queue_list@Base 0.12 ++#MISSING: 1.6# pocl_context_handling_lock@Base 1.1 ++#MISSING: 0.14# pocl_cpufreq_get_max@Base 0.10 ++#MISSING: 0.12# pocl_cpuinfo_append_cpu_name@Base 0.10 ++#MISSING: 0.14# pocl_cpuinfo_detect_compute_unit_count@Base 0.10 ++ pocl_cpuinfo_detect_device_info@Base 1.6 ++#MISSING: 0.14# pocl_cpuinfo_detect_max_clock_frequency@Base 0.10 ++#MISSING: 0.14# pocl_cpuinfo_get_cpu_name_and_vendor@Base 0.12 ++#MISSING: 1.6# pocl_cq_profiling_enabled@Base 1.5 ++#MISSING: 1.6# pocl_cq_profiling_init@Base 1.5 ++#MISSING: 1.6# pocl_cq_profiling_register_event@Base 1.5 ++#MISSING: 0.11# pocl_create_command@Base 0.10 ++#MISSING: 0.11# pocl_create_event@Base 0.10 ++#MISSING: 0.12# pocl_debug_messages@Base 0.11 ++ pocl_debug_messages_filter@Base 1.6 ++ pocl_debug_output_lock@Base 1.6 ++ pocl_debug_output_unlock@Base 1.6 ++ pocl_debug_print_header@Base 1.6 ++#MISSING: 0.12# pocl_debug_timespec@Base 0.11 ++ pocl_default_local_size_optimizer@Base 1.6 ++ pocl_device_get_env_count@Base 1.6 ++ pocl_device_types@Base 1.6 ++ pocl_exec_command@Base 1.6 ++#MISSING: 0.14# pocl_find_img_format@Base 0.10 ++#MISSING: 0.14# pocl_finish_all_queues@Base 0.12 ++ pocl_free_global_mem@Base 1.6 ++#MISSING: 0.14# pocl_free_llvm_irs@Base 0.12 ++ pocl_get_bool_option@Base 0.10 ++ pocl_get_int_option@Base 0.10 ++#MISSING: 1.6# pocl_get_string_option@Base 0.10 ++ pocl_init_default_device_infos@Base 1.6 ++ pocl_init_dlhandle_cache@Base 1.6 ++#MISSING: 0.14# pocl_init_mem_manager@Base 0.10 ++#MISSING: 1.6# pocl_is_option_set@Base 0.10 ++#MISSING: 0.14# pocl_llvm_build_program@Base 0.10 ++#MISSING: 0.14# pocl_llvm_codegen@Base 0.10 ++#MISSING: 0.14# pocl_llvm_generate_workgroup_function@Base 0.10 ++#MISSING: 0.14# pocl_llvm_get_kernel_count@Base 0.12 ++#MISSING: 0.14# pocl_llvm_get_kernel_metadata@Base 0.10 ++#MISSING: 0.14# pocl_llvm_get_kernel_names@Base 0.10 ++#MISSING: 0.14# pocl_llvm_update_binaries@Base 0.10 ++#MISSING: 0.14# pocl_map_mem_cmd@Base 0.10 ++#MISSING: 0.14# pocl_mem_manager_free_command@Base 0.10 ++#MISSING: 0.14# pocl_mem_manager_free_event@Base 0.10 ++#MISSING: 0.14# pocl_mem_manager_new_command@Base 0.10 ++#MISSING: 0.14# pocl_mem_manager_new_event@Base 0.10 ++#MISSING: 0.14# pocl_memalign_alloc@Base 0.11 ++#MISSING: 0.14# pocl_memalign_alloc_global_mem@Base 0.13 ++ pocl_ndrange_node_cleanup@Base 1.6 ++#MISSING: 0.14# pocl_print_system_memory_stats@Base 0.13 ++#MISSING: 0.13# pocl_pthread_malloc@Base 0.11 ++#MISSING: 0.14# pocl_rect_copy@Base 0.13 ++ pocl_release_dlhandle_cache@Base 1.6 ++ pocl_restore_ftz@Base 1.6 ++ pocl_restore_rm@Base 1.6 ++ pocl_save_ftz@Base 1.6 ++ pocl_save_rm@Base 1.6 ++ pocl_set_buffer_image_limits@Base 1.6 ++ pocl_set_default_rm@Base 1.6 ++ pocl_set_ftz@Base 1.6 ++#MISSING: 0.14# pocl_setup_device_for_system_memory@Base 0.13 ++#MISSING: 0.12# pocl_sysfs_detect_compute_unit_count@Base 0.11 ++ pocl_topology_detect_device_info@Base 1.6 ++ pocl_update_event_complete_msg@Base 1.6 ++ pocl_update_event_failed@Base 1.6 ++ pocl_update_event_finished_msg@Base 1.4 ++ pocl_update_event_running@Base 1.6 ++ pocl_update_event_submitted@Base 1.6 ++#MISSING: 0.14# pocl_update_program_llvm_irs@Base 0.11 ++#MISSING: 1.6# scheduler_initialized@Base 1.3 ++ stderr_is_a_tty@Base 1.6 ++#MISSING: 0.12# supported_image_formats@Base 0.10 ++#MISSING: 0.14# ta_pool_lock@Base 0.10 diff --cc debian/patches/0001-add-testcase-for-Debian-bug-975931.patch index 0000000,0000000..f0b3377 new file mode 100644 --- /dev/null +++ b/debian/patches/0001-add-testcase-for-Debian-bug-975931.patch @@@ -1,0 -1,0 +1,214 @@@ ++From b46f2a3aef3aad6290758af0141516c3dc2aa4f8 Mon Sep 17 00:00:00 2001 ++From: Andreas Beckmann ++Date: Thu, 10 Dec 2020 19:47:30 +0100 ++Subject: [PATCH] add testcase for Debian bug #975931 ++ ++--- ++ tests/regression/CMakeLists.txt | 3 + ++ .../test_llvm_segfault_debian_bug_975931.cpp | 173 ++++++++++++++++++ ++ 2 files changed, 176 insertions(+) ++ create mode 100644 tests/regression/test_llvm_segfault_debian_bug_975931.cpp ++ ++diff --git a/tests/regression/CMakeLists.txt b/tests/regression/CMakeLists.txt ++index a5ee9159..c14044af 100644 ++--- a/tests/regression/CMakeLists.txt +++++ b/tests/regression/CMakeLists.txt ++@@ -40,6 +40,7 @@ set(PROGRAMS_TO_BUILD test_barrier_between_for_loops test_early_return ++ test_for_with_var_iteration_count test_id_dependent_computation ++ test_locals test_loop_phi_replication test_multi_level_loops_with_barriers ++ test_simple_for_with_a_barrier test_structs_as_args test_vectors_as_args +++ test_llvm_segfault_debian_bug_975931 ++ test_barrier_before_return test_infinite_loop test_constant_array ++ test_undominated_variable test_setargs test_null_arg ++ test_fors_with_var_iteration_counts test_issue_231 test_issue_445 ++@@ -76,6 +77,8 @@ add_test_pocl(NAME "regression/test_issue_757" COMMAND "test_issue_757") ++ ++ add_test_pocl(NAME "regression/test_flatten_barrier_subs" COMMAND "test_flatten_barrier_subs" EXPECTED_OUTPUT "test_flatten_barrier_subs.output") ++ +++add_test_pocl(NAME "regression/test_llvm_segfault_debian_bug_975931" COMMAND "test_llvm_segfault_debian_bug_975931") +++ ++ # repl ++ ++ add_test_pocl(NAME "regression/phi_nodes_not_replicated_REPL" COMMAND "test_loop_phi_replication") ++diff --git a/tests/regression/test_llvm_segfault_debian_bug_975931.cpp b/tests/regression/test_llvm_segfault_debian_bug_975931.cpp ++new file mode 100644 ++index 00000000..220fe628 ++--- /dev/null +++++ b/tests/regression/test_llvm_segfault_debian_bug_975931.cpp ++@@ -0,0 +1,173 @@ +++/* +++ +++ Copyright (c) 2013 Pekka Jääskeläinen and +++ Kalray +++ +++ Permission is hereby granted, free of charge, to any person obtaining a copy +++ of this software and associated documentation files (the "Software"), to deal +++ in the Software without restriction, including without limitation the rights +++ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +++ copies of the Software, and to permit persons to whom the Software is +++ furnished to do so, subject to the following conditions: +++ +++ The above copyright notice and this permission notice shall be included in +++ all copies or substantial portions of the Software. +++ +++ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +++ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +++ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +++ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +++ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +++ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +++ THE SOFTWARE. +++*/ +++ +++#include +++#include +++#include +++#include +++#include +++#include "config.h" +++ +++const char source[] = +++"#ifdef DOUBLE_PRECISION\n" +++" #ifdef cl_khr_fp64\n" +++" #pragma OPENCL EXTENSION cl_khr_fp64 : enable\n" +++" #else\n" +++" #pragma OPENCL EXTENSION cl_amd_fp64 : enable\n" +++" #endif\n" +++"#endif\n" +++"\n" +++"__kernel void Sdot_kernel( __global float *_X, __global float *_Y, __global float *scratchBuff,\n" +++" uint N, uint offx, int incx, uint offy, int incy, int doConj )\n" +++"{\n" +++" __global float *X = _X + offx;\n" +++" __global float *Y = _Y + offy;\n" +++" float dotP = (float) 0.0;\n" +++"\n" +++" if ( incx < 0 ) {\n" +++" X = X + (N - 1) * abs(incx);\n" +++" }\n" +++" if ( incy < 0 ) {\n" +++" Y = Y + (N - 1) * abs(incy);\n" +++" }\n" +++"\n" +++" int gOffset;\n" +++" for( gOffset=(get_global_id(0) * 4); (gOffset + 4 - 1) 0); +++ +++ CHECK_CL_ERROR(clGetDeviceIDs(platforms[0], CL_DEVICE_TYPE_ALL, MAX_DEVICES, devices, &ndevices)); +++ TEST_ASSERT(ndevices > 0); +++ +++ cl_context context = clCreateContext(NULL, 1, devices, NULL, NULL, &err); +++ CHECK_OPENCL_ERROR_IN("clCreateContext"); +++ +++ const char * src[] = {source}; +++ program = clCreateProgramWithSource(context, 1, src, NULL, &err); +++ CHECK_OPENCL_ERROR_IN("clCreateProgramWithSource"); +++ +++ CHECK_CL_ERROR(clBuildProgram(program, 1, devices, "-g -DINCX_NONUNITY -DINCY_NONUNITY", NULL, NULL)); +++ +++ CHECK_CL_ERROR(clGetProgramInfo(program, CL_PROGRAM_BINARY_SIZES, sizeof(binsizes), binsizes, &nbinaries)); +++ printf("binary size: %zd\n", binsizes[0]); +++ +++ CHECK_CL_ERROR(clReleaseProgram(program)); +++ +++ CHECK_CL_ERROR (clReleaseContext (context)); +++ +++ printf ("OK\n"); +++ +++ return EXIT_SUCCESS; +++} ++-- ++2.20.1 ++ diff --cc debian/patches/0002-restore-visibility-hidden.patch index 0000000,0000000..2f8281f new file mode 100644 --- /dev/null +++ b/debian/patches/0002-restore-visibility-hidden.patch @@@ -1,0 -1,0 +1,711 @@@ ++From 07297de35b16379e915b966e5eea33f03be2b529 Mon Sep 17 00:00:00 2001 ++From: Andreas Beckmann ++Date: Mon, 14 Dec 2020 21:05:48 +0100 ++Subject: [PATCH 2/2] restore visibility hidden ++ ++--- ++ include/pocl_cache.h | 8 ++++++ ++ include/pocl_file_util.h | 8 ++++++ ++ lib/CL/clCreateContext.c | 2 +- ++ lib/CL/devices/bufalloc.h | 8 ++++++ ++ lib/CL/devices/common.h | 48 ++++++++++++++++++++++++++++++++ ++ lib/CL/devices/devices.c | 2 ++ ++ lib/CL/devices/devices.h | 16 +++++++++++ ++ lib/CL/devices/pocl_local_size.h | 10 +++++++ ++ lib/CL/devices/prototypes.inc | 13 ++++++++- ++ lib/CL/devices/pthread/pthread.c | 1 + ++ lib/CL/pocl_cl.h | 4 +-- ++ lib/CL/pocl_cq_profiling.h | 8 ++++++ ++ lib/CL/pocl_debug.h | 29 +++++++++++++++++++ ++ lib/CL/pocl_hash.h | 8 ++++++ ++ lib/CL/pocl_llvm.h | 9 ++++++ ++ lib/CL/pocl_runtime_config.h | 18 ++++++++++++ ++ lib/CL/pocl_timing.h | 8 ++++++ ++ lib/CL/pocl_util.h | 48 ++++++++++++++++++++++++++++++++ ++ 18 files changed, 244 insertions(+), 4 deletions(-) ++ ++diff --git a/include/pocl_cache.h b/include/pocl_cache.h ++index 377aa21a..92ef2845 100644 ++--- a/include/pocl_cache.h +++++ b/include/pocl_cache.h ++@@ -36,6 +36,10 @@ extern "C" { ++ ++ #include ++ +++#ifdef __GNUC__ +++#pragma GCC visibility push(hidden) +++#endif +++ ++ int pocl_cache_init_topdir (); ++ ++ int ++@@ -120,6 +124,10 @@ void pocl_cache_final_binary_path (char *final_binary_path, cl_program program, ++ unsigned device_i, cl_kernel kernel, ++ _cl_command_node *command, int specialize); ++ +++#ifdef __GNUC__ +++#pragma GCC visibility pop +++#endif +++ ++ ++ #ifdef __cplusplus ++ } ++diff --git a/include/pocl_file_util.h b/include/pocl_file_util.h ++index a6d73f0a..b6b90f8d 100644 ++--- a/include/pocl_file_util.h +++++ b/include/pocl_file_util.h ++@@ -31,6 +31,10 @@ ++ extern "C" { ++ #endif ++ +++#ifdef __GNUC__ +++#pragma GCC visibility push(hidden) +++#endif +++ ++ /* Remove a directory, recursively */ ++ int pocl_rm_rf(const char* path); ++ ++@@ -67,6 +71,10 @@ int pocl_mk_tempdir (char *output, const char *prefix); ++ int pocl_mk_tempname (char *output, const char *prefix, const char *suffix, ++ int *ret_fd); ++ +++#ifdef __GNUC__ +++#pragma GCC visibility pop +++#endif +++ ++ #ifdef __cplusplus ++ } ++ #endif ++diff --git a/lib/CL/clCreateContext.c b/lib/CL/clCreateContext.c ++index 3f2c3b34..8dbd6603 100644 ++--- a/lib/CL/clCreateContext.c +++++ b/lib/CL/clCreateContext.c ++@@ -117,7 +117,7 @@ int context_set_properties(cl_context context, ++ } ++ ++ unsigned cl_context_count = 0; ++-pocl_lock_t pocl_context_handling_lock = POCL_LOCK_INITIALIZER; +++pocl_lock_t pocl_context_handling_lock __attribute__((visibility("hidden"))) = POCL_LOCK_INITIALIZER; ++ ++ CL_API_ENTRY cl_context CL_API_CALL ++ POname(clCreateContext)(const cl_context_properties * properties, ++diff --git a/lib/CL/devices/bufalloc.h b/lib/CL/devices/bufalloc.h ++index e22f3e4c..ae4a6f0b 100644 ++--- a/lib/CL/devices/bufalloc.h +++++ b/lib/CL/devices/bufalloc.h ++@@ -40,6 +40,10 @@ extern "C" { ++ ++ #include "pocl_cl.h" ++ +++#ifdef __GNUC__ +++#pragma GCC visibility push(hidden) +++#endif +++ ++ typedef pocl_lock_t ba_lock_t; ++ ++ #define BA_LOCK(LOCK) POCL_LOCK(LOCK) ++@@ -163,6 +167,10 @@ print_chunk (chunk_info_t *chunk); ++ void ++ print_chunks (chunk_info_t *first); ++ +++#ifdef __GNUC__ +++#pragma GCC visibility pop +++#endif +++ ++ #ifdef __cplusplus ++ } ++ #endif ++diff --git a/lib/CL/devices/common.h b/lib/CL/devices/common.h ++index e9a6bca9..d6e1bcde 100644 ++--- a/lib/CL/devices/common.h +++++ b/lib/CL/devices/common.h ++@@ -60,15 +60,27 @@ ++ extern "C" { ++ #endif ++ +++#ifdef __GNUC__ +++#pragma GCC visibility push(hidden) +++#endif +++ ++ int llvm_codegen (char *output, unsigned device_i, cl_kernel kernel, ++ cl_device_id device, _cl_command_node *command, ++ int specialize); ++ +++#ifdef __GNUC__ +++#pragma GCC visibility pop +++#endif +++ ++ void fill_dev_image_t (dev_image_t *di, struct pocl_argument *parg, ++ cl_device_id device); ++ ++ void fill_dev_sampler_t (dev_sampler_t *ds, struct pocl_argument *parg); ++ +++#ifdef __GNUC__ +++#pragma GCC visibility push(hidden) +++#endif +++ ++ void pocl_copy_mem_object (cl_device_id dest_dev, cl_mem dest, ++ size_t dest_offset, ++ cl_device_id source_dev, cl_mem source, ++@@ -79,40 +91,76 @@ void pocl_migrate_mem_objects (_cl_command_node *node); ++ void pocl_scheduler (_cl_command_node * volatile * ready_list, ++ pthread_mutex_t *lock_ptr); ++ +++#ifdef __GNUC__ +++#pragma GCC visibility pop +++#endif +++ ++ void pocl_exec_command (_cl_command_node * volatile node); ++ ++ void pocl_ndrange_node_cleanup(_cl_command_node *node); +++ +++#ifdef __GNUC__ +++#pragma GCC visibility push(hidden) +++#endif ++ void pocl_mem_objs_cleanup (cl_event event); ++ +++#ifdef __GNUC__ +++#pragma GCC visibility pop +++#endif +++ ++ void pocl_broadcast (cl_event event); ++ ++ void pocl_init_dlhandle_cache (); ++ +++#ifdef __GNUC__ +++#pragma GCC visibility push(hidden) +++#endif +++ ++ char *pocl_check_kernel_disk_cache (_cl_command_node *cmd, int specialized); ++ ++ size_t pocl_cmd_max_grid_dim_width (_cl_command_run *cmd); ++ +++#ifdef __GNUC__ +++#pragma GCC visibility pop +++#endif +++ ++ void pocl_check_kernel_dlhandle_cache (_cl_command_node *command, ++ unsigned initial_refcount, ++ int specialize); ++ ++ void pocl_release_dlhandle_cache (_cl_command_node *cmd); ++ +++#ifdef __GNUC__ +++#pragma GCC visibility push(hidden) +++#endif +++ ++ void pocl_setup_device_for_system_memory(cl_device_id device); ++ ++ void pocl_reinit_system_memory(); ++ +++#ifdef __GNUC__ +++#pragma GCC visibility pop +++#endif +++ ++ void pocl_set_buffer_image_limits(cl_device_id device); ++ ++ void* pocl_aligned_malloc_global_mem(cl_device_id device, size_t align, size_t size); ++ ++ void pocl_free_global_mem(cl_device_id device, void *ptr, size_t size); ++ +++#ifdef __GNUC__ +++#pragma GCC visibility push(hidden) +++#endif +++ ++ void pocl_print_system_memory_stats(); ++ ++ void pocl_calculate_kernel_hash (cl_program program, unsigned kernel_i, ++ unsigned device_i); ++ +++#ifdef __GNUC__ +++#pragma GCC visibility pop +++#endif +++ ++ void pocl_init_default_device_infos (cl_device_id dev); ++ ++ #ifdef __cplusplus ++diff --git a/lib/CL/devices/devices.c b/lib/CL/devices/devices.c ++index 9bf622f4..49d16e63 100644 ++--- a/lib/CL/devices/devices.c +++++ b/lib/CL/devices/devices.c ++@@ -80,7 +80,9 @@ ++ /* the enabled devices */ ++ static struct _cl_device_id* pocl_devices = NULL; ++ unsigned int pocl_num_devices = 0; +++#if 0 ++ unsigned int pocl_num_device_types = 0; +++#endif ++ ++ /* Init function prototype */ ++ typedef void (*init_device_ops)(struct pocl_device_ops*); ++diff --git a/lib/CL/devices/devices.h b/lib/CL/devices/devices.h ++index 2c8c2222..15437a16 100644 ++--- a/lib/CL/devices/devices.h +++++ b/lib/CL/devices/devices.h ++@@ -28,6 +28,10 @@ ++ #include "../pocl_cl.h" ++ #include "config.h" ++ +++#ifdef __GNUC__ +++#pragma GCC visibility push(hidden) +++#endif +++ ++ #ifdef __cplusplus ++ extern "C" { ++ #endif ++@@ -62,6 +66,10 @@ unsigned int pocl_get_device_type_count(cl_device_type device_type); ++ */ ++ unsigned int pocl_get_devices(cl_device_type device_type, struct _cl_device_id **devices, unsigned int num_devices); ++ +++#ifdef __GNUC__ +++#pragma GCC visibility pop +++#endif +++ ++ /** ++ * \brief Return the count of a specific device in the env var POCL_DEVICES ++ * \param dev_type a string describing the device ("basic" for instance) ++@@ -71,12 +79,20 @@ unsigned int pocl_get_devices(cl_device_type device_type, struct _cl_device_id * ++ int pocl_device_get_env_count(const char *dev_type); ++ ++ +++#ifdef __GNUC__ +++#pragma GCC visibility push(hidden) +++#endif +++ ++ /** ++ * \brief Unique global memory id for devices with distinct memory from the system memory ++ * \return Unique global mem id, id > 0. Zero is reserved for shared system memory ++ */ ++ int pocl_get_unique_global_mem_id(); ++ +++#ifdef __GNUC__ +++#pragma GCC visibility pop +++#endif +++ ++ /* the environment variable that lists the enabled devices */ ++ #define POCL_DEVICES_ENV "POCL_DEVICES" ++ ++diff --git a/lib/CL/devices/pocl_local_size.h b/lib/CL/devices/pocl_local_size.h ++index 0fb73167..738cca2a 100644 ++--- a/lib/CL/devices/pocl_local_size.h +++++ b/lib/CL/devices/pocl_local_size.h ++@@ -25,6 +25,7 @@ ++ #define POCL_LOCAL_SIZE_H ++ ++ #include "pocl_cl.h" +++ ++ /* The generic local size optimizer used by default, in case there's no target ++ * specific one defined in the device driver. */ ++ void pocl_default_local_size_optimizer (cl_device_id dev, size_t global_x, ++@@ -32,6 +33,10 @@ void pocl_default_local_size_optimizer (cl_device_id dev, size_t global_x, ++ size_t *local_x, size_t *local_y, ++ size_t *local_z); ++ +++#ifdef __GNUC__ +++#pragma GCC visibility push(hidden) +++#endif +++ ++ /* Can be used for devices which support only small work-groups and prefer ++ * them to be maximally utilized to use as many of the SIMD lanes as possible. ++ * High compute unit utilization is only a secondary goal which typicaly ++@@ -42,4 +47,9 @@ void pocl_wg_utilization_maximizer (cl_device_id dev, size_t global_x, ++ size_t global_y, size_t global_z, ++ size_t *local_x, size_t *local_y, ++ size_t *local_z); +++ +++#ifdef __GNUC__ +++#pragma GCC visibility pop +++#endif +++ ++ #endif ++diff --git a/lib/CL/devices/prototypes.inc b/lib/CL/devices/prototypes.inc ++index 91987eb7..3864a743 100644 ++--- a/lib/CL/devices/prototypes.inc +++++ b/lib/CL/devices/prototypes.inc ++@@ -21,7 +21,16 @@ ++ THE SOFTWARE. ++ */ ++ +++#ifdef _MSC_VER +++# define PUSH_VISIBILITY_HIDDEN +++# define POP_VISIBILITY_HIDDEN +++#else +++# define PUSH_VISIBILITY_HIDDEN _Pragma ("GCC visibility push(hidden)") +++# define POP_VISIBILITY_HIDDEN _Pragma ("GCC visibility pop") +++#endif +++ ++ #define GEN_PROTOTYPES(__DRV__) \ +++ PUSH_VISIBILITY_HIDDEN \ ++ void pocl_##__DRV__##_submit (_cl_command_node *node, cl_command_queue cq); \ ++ void pocl_##__DRV__##_join (cl_device_id device, cl_command_queue cq); \ ++ void pocl_##__DRV__##_flush (cl_device_id device, cl_command_queue cq); \ ++@@ -31,7 +40,9 @@ ++ void pocl_##__DRV__##_wait_event (cl_device_id device, cl_event event); \ ++ void pocl_##__DRV__##_update_event (cl_device_id device, cl_event event); \ ++ void pocl_##__DRV__##_free_event_data (cl_event event); \ +++ POP_VISIBILITY_HIDDEN \ ++ void pocl_##__DRV__##_init_device_ops (struct pocl_device_ops *ops); \ +++ PUSH_VISIBILITY_HIDDEN \ ++ cl_int pocl_##__DRV__##_uninit (unsigned j, cl_device_id device); \ ++ cl_int pocl_##__DRV__##_reinit (unsigned j, cl_device_id device); \ ++ cl_int pocl_##__DRV__##_init (unsigned j, cl_device_id device, \ ++@@ -142,4 +153,4 @@ ++ const char *kernel_name); \ ++ cl_int pocl_##__DRV__##_get_builtin_kernel_metadata (void *data, \ ++ const char *kernel_name, pocl_kernel_metadata_t *target); \ ++- +++ POP_VISIBILITY_HIDDEN ++diff --git a/lib/CL/devices/pthread/pthread.c b/lib/CL/devices/pthread/pthread.c ++index d0f6d82f..700eeb5a 100644 ++--- a/lib/CL/devices/pthread/pthread.c +++++ b/lib/CL/devices/pthread/pthread.c ++@@ -131,6 +131,7 @@ static cl_device_partition_property pthread_partition_properties[2] ++ ++ #define FALLBACK_MAX_THREAD_COUNT 8 ++ +++static ++ char scheduler_initialized = 0; ++ ++ cl_int ++diff --git a/lib/CL/pocl_cl.h b/lib/CL/pocl_cl.h ++index fa7b1f6d..f9816a69 100644 ++--- a/lib/CL/pocl_cl.h +++++ b/lib/CL/pocl_cl.h ++@@ -223,8 +223,8 @@ typedef pthread_mutex_t pocl_lock_t; ++ /* Symbol aliases are supported */ ++ ++ # define POname(name) PO##name ++- ++-#define POdeclsym(name) __typeof__ (name) PO##name; +++# define POdeclsym(name) \ +++ __typeof__(name) PO##name __attribute__((visibility("hidden"))); ++ # define POCL_ALIAS_OPENCL_SYMBOL(name) \ ++ __typeof__(name) name __attribute__((alias ("PO" #name), visibility("default"))); ++ # define POsymAlways(name) POCL_ALIAS_OPENCL_SYMBOL(name) ++diff --git a/lib/CL/pocl_cq_profiling.h b/lib/CL/pocl_cq_profiling.h ++index aeeaed56..893098ac 100644 ++--- a/lib/CL/pocl_cq_profiling.h +++++ b/lib/CL/pocl_cq_profiling.h ++@@ -46,10 +46,18 @@ ++ ++ #include "CL/cl.h" ++ +++#ifdef __GNUC__ +++#pragma GCC visibility push(hidden) +++#endif +++ ++ /* This is set to 1 in case the cq profiling was enabled via POCL_TRACING=cq. */ ++ extern int pocl_cq_profiling_enabled; ++ ++ void pocl_cq_profiling_init (); ++ void pocl_cq_profiling_register_event (cl_event event); ++ +++#ifdef __GNUC__ +++#pragma GCC visibility pop +++#endif +++ ++ #endif ++diff --git a/lib/CL/pocl_debug.h b/lib/CL/pocl_debug.h ++index 9b9f9058..9211b381 100644 ++--- a/lib/CL/pocl_debug.h +++++ b/lib/CL/pocl_debug.h ++@@ -65,6 +65,10 @@ extern "C" { ++ #define POCL_FILTER_TYPE_WARN 2 ++ #define POCL_FILTER_TYPE_ERR 3 ++ +++#ifdef __GNUC__ +++#pragma GCC visibility push(hidden) +++#endif +++ ++ /* Debugging macros. Also macros for marking unimplemented parts of specs or ++ untested parts of the implementation. */ ++ ++@@ -109,9 +113,17 @@ extern "C" { ++ ++ #ifdef POCL_DEBUG_MESSAGES ++ +++#ifdef __GNUC__ +++#pragma GCC visibility pop +++#endif +++ ++ extern uint64_t pocl_debug_messages_filter; ++ extern int stderr_is_a_tty; ++ +++#ifdef __GNUC__ +++#pragma GCC visibility push(hidden) +++#endif +++ ++ #define POCL_DEBUGGING_ON (pocl_debug_messages_filter) ++ ++ #if __GNUC__ >= 2 ++@@ -122,11 +134,24 @@ extern "C" { ++ ++ #define POCL_DEBUG_HEADER(FILTER, FILTER_TYPE) \ ++ pocl_debug_print_header (__func__, __LINE__, #FILTER, FILTER_TYPE); +++ +++#ifdef __GNUC__ +++#pragma GCC visibility pop +++#endif ++ extern void pocl_debug_output_lock (); ++ extern void pocl_debug_output_unlock (); +++#ifdef __GNUC__ +++#pragma GCC visibility push(hidden) +++#endif ++ extern void pocl_debug_messages_setup (const char *debug); +++#ifdef __GNUC__ +++#pragma GCC visibility pop +++#endif ++ extern void pocl_debug_print_header (const char * func, unsigned line, ++ const char* filter, int filter_type); +++#ifdef __GNUC__ +++#pragma GCC visibility push(hidden) +++#endif ++ extern void pocl_debug_measure_start (uint64_t* start); ++ extern void pocl_debug_measure_finish (uint64_t* start, uint64_t* finish, ++ const char* msg, ++@@ -320,6 +345,10 @@ extern "C" { ++ } \ ++ while (0) ++ +++#ifdef __GNUC__ +++#pragma GCC visibility pop +++#endif +++ ++ #ifdef __cplusplus ++ } ++ #endif ++diff --git a/lib/CL/pocl_hash.h b/lib/CL/pocl_hash.h ++index a9ab939b..d74be249 100644 ++--- a/lib/CL/pocl_hash.h +++++ b/lib/CL/pocl_hash.h ++@@ -31,6 +31,10 @@ extern "C" { ++ ++ #include ++ +++#ifdef __GNUC__ +++#pragma GCC visibility push(hidden) +++#endif +++ ++ typedef struct { ++ uint32_t state[5]; ++ uint32_t count[2]; ++@@ -43,6 +47,10 @@ void pocl_SHA1_Init(SHA1_CTX* context); ++ void pocl_SHA1_Update(SHA1_CTX* context, const uint8_t* data, const size_t len); ++ void pocl_SHA1_Final(SHA1_CTX* context, uint8_t digest[SHA1_DIGEST_SIZE]); ++ +++#ifdef __GNUC__ +++#pragma GCC visibility pop +++#endif +++ ++ #ifdef __cplusplus ++ } ++ #endif ++diff --git a/lib/CL/pocl_llvm.h b/lib/CL/pocl_llvm.h ++index bd1d47ff..d2807ff6 100644 ++--- a/lib/CL/pocl_llvm.h +++++ b/lib/CL/pocl_llvm.h ++@@ -31,6 +31,11 @@ extern "C" { ++ ++ /* Returns the cpu name as reported by LLVM. */ ++ char *get_llvm_cpu_name (); +++ +++#ifdef __GNUC__ +++#pragma GCC visibility push(hidden) +++#endif +++ ++ /* Returns if the cpu supports FMA instruction (uses LLVM). */ ++ int cpu_has_fma(); ++ ++@@ -122,6 +127,10 @@ int pocl_llvm_link_program(cl_program program, ++ ++ int pocl_invoke_clang(cl_device_id Device, const char** Args); ++ +++#ifdef __GNUC__ +++#pragma GCC visibility pop +++#endif +++ ++ ++ #ifdef __cplusplus ++ } ++diff --git a/lib/CL/pocl_runtime_config.h b/lib/CL/pocl_runtime_config.h ++index eb54dd94..8b01fa8a 100644 ++--- a/lib/CL/pocl_runtime_config.h +++++ b/lib/CL/pocl_runtime_config.h ++@@ -29,11 +29,29 @@ ++ extern "C" { ++ #endif ++ +++#ifdef __GNUC__ +++#pragma GCC visibility push(hidden) +++#endif +++ ++ int pocl_is_option_set(const char *key); +++ +++#ifdef __GNUC__ +++#pragma GCC visibility pop +++#endif +++ ++ int pocl_get_int_option(const char *key, int default_value); ++ int pocl_get_bool_option(const char *key, int default_value); +++ +++#ifdef __GNUC__ +++#pragma GCC visibility push(hidden) +++#endif +++ ++ const char* pocl_get_string_option(const char *key, const char *default_value); ++ +++#ifdef __GNUC__ +++#pragma GCC visibility pop +++#endif +++ ++ #ifdef __cplusplus ++ } ++ #endif ++diff --git a/lib/CL/pocl_timing.h b/lib/CL/pocl_timing.h ++index afcffd94..064d968f 100644 ++--- a/lib/CL/pocl_timing.h +++++ b/lib/CL/pocl_timing.h ++@@ -30,12 +30,20 @@ ++ extern "C" { ++ #endif ++ +++#ifdef __GNUC__ +++#pragma GCC visibility push(hidden) +++#endif +++ ++ extern const unsigned pocl_timer_resolution; ++ ++ uint64_t pocl_gettimemono_ns(); ++ ++ int pocl_gettimereal(int *year, int *mon, int *day, int *hour, int *min, int *sec, int* nanosec); ++ +++#ifdef __GNUC__ +++#pragma GCC visibility pop +++#endif +++ ++ #ifdef __cplusplus ++ } ++ #endif ++diff --git a/lib/CL/pocl_util.h b/lib/CL/pocl_util.h ++index ce104602..66b6f7d0 100644 ++--- a/lib/CL/pocl_util.h +++++ b/lib/CL/pocl_util.h ++@@ -36,6 +36,10 @@ ++ #error aligned malloc unavailable ++ #endif ++ +++#ifdef __GNUC__ +++#pragma GCC visibility push(hidden) +++#endif +++ ++ #ifdef __cplusplus ++ extern "C" { ++ #endif ++@@ -56,6 +60,10 @@ extern "C" { ++ uint32_t byteswap_uint32_t (uint32_t word, char should_swap); ++ float byteswap_float (float word, char should_swap); ++ +++#ifdef __GNUC__ +++#pragma GCC visibility pop +++#endif +++ ++ /* set rounding mode */ ++ void pocl_restore_rm (unsigned rm); ++ /* get current rounding mode */ ++@@ -70,6 +78,10 @@ void pocl_set_ftz (unsigned ftz); ++ unsigned pocl_save_ftz (); ++ void pocl_restore_ftz (unsigned ftz); ++ +++#ifdef __GNUC__ +++#pragma GCC visibility push(hidden) +++#endif +++ ++ /* Finds the next highest power of two of the given value. */ ++ size_t pocl_size_ceil2 (size_t x); ++ uint64_t pocl_size_ceil2_64 (uint64_t x); ++@@ -83,7 +95,15 @@ uint64_t pocl_size_ceil2_64 (uint64_t x); ++ * must be a non-zero power of 2. ++ */ ++ +++#ifdef __GNUC__ +++#pragma GCC visibility pop +++#endif +++ ++ void *pocl_aligned_malloc(size_t alignment, size_t size); +++ +++#ifdef __GNUC__ +++#pragma GCC visibility push(hidden) +++#endif ++ #define pocl_aligned_free(x) POCL_MEM_FREE(x) ++ ++ /* locks / unlocks two events in order of their event-id. ++@@ -127,6 +147,10 @@ check_copy_overlap(const size_t src_offset[3], ++ const size_t region[3], ++ const size_t row_pitch, const size_t slice_pitch); ++ +++#ifdef __GNUC__ +++#pragma GCC visibility pop +++#endif +++ ++ /** ++ * Push a command into ready list if all previous events are completed or ++ * in pending_list if the command still has pending dependencies ++@@ -136,6 +160,10 @@ pocl_command_push (_cl_command_node *node, ++ _cl_command_node * volatile * ready_list, ++ _cl_command_node * volatile * pending_list); ++ +++#ifdef __GNUC__ +++#pragma GCC visibility push(hidden) +++#endif +++ ++ /** ++ * Return true if a command is ready to execute (no more event in wait list ++ * or false if not ++@@ -182,10 +210,22 @@ void pocl_abort_on_pthread_error (int status, unsigned line, const char *func); ++ ++ void pocl_update_event_queued (cl_event event); ++ +++#ifdef __GNUC__ +++#pragma GCC visibility pop +++#endif +++ ++ void pocl_update_event_submitted (cl_event event); ++ +++#ifdef __GNUC__ +++#pragma GCC visibility push(hidden) +++#endif +++ ++ void pocl_update_event_running_unlocked (cl_event event); ++ +++#ifdef __GNUC__ +++#pragma GCC visibility pop +++#endif +++ ++ void pocl_update_event_running (cl_event event); ++ ++ void pocl_update_event_complete_msg (const char *func, unsigned line, ++@@ -199,6 +239,10 @@ void pocl_update_event_complete_msg (const char *func, unsigned line, ++ ++ void pocl_update_event_failed (cl_event event); ++ +++#ifdef __GNUC__ +++#pragma GCC visibility push(hidden) +++#endif +++ ++ const char* ++ pocl_status_to_str (int status); ++ ++@@ -216,6 +260,10 @@ float half_to_float (uint16_t value); ++ } ++ #endif ++ +++#ifdef __GNUC__ +++#pragma GCC visibility pop +++#endif +++ ++ /* Common macro for cleaning up "*GetInfo" API call implementations. ++ * All the *GetInfo functions have been specified to look alike, ++ * and have been implemented to use the same variable names, so this ++-- ++2.20.1 ++ diff --cc debian/patches/0003-restore-setting-unroll-threshold-on-LLVM-9.patch index 0000000,0000000..bdbd3d4 new file mode 100644 --- /dev/null +++ b/debian/patches/0003-restore-setting-unroll-threshold-on-LLVM-9.patch @@@ -1,0 -1,0 +1,32 @@@ ++From d787e3dc51adadf6b6efbf04a2b2e3193ef9b477 Mon Sep 17 00:00:00 2001 ++From: Andreas Beckmann ++Date: Wed, 27 Jan 2021 21:26:51 +0100 ++Subject: [PATCH] restore setting unroll-threshold on LLVM 9 ++ ++otherwise kernel/test_rotate hangs on avx512 capable cpus ++ ++(this partially reverts 459d0bb5241a62af3b5b607a65dcf5e9a34a01ee) ++--- ++ lib/CL/pocl_llvm_utils.cc | 6 ++++++ ++ 1 file changed, 6 insertions(+) ++ ++diff --git a/lib/CL/pocl_llvm_utils.cc b/lib/CL/pocl_llvm_utils.cc ++index aa0d33dd..7ff66450 100644 ++--- a/lib/CL/pocl_llvm_utils.cc +++++ b/lib/CL/pocl_llvm_utils.cc ++@@ -347,6 +347,12 @@ void InitializeLLVM() { ++ O->addOccurrence(1, StringRef("debug"), StringRef("true"), false); ++ } ++ +++#if LLVM_MAJOR == 9 +++ O = opts["unroll-threshold"]; +++ assert(O && "could not find LLVM option 'unroll-threshold'"); +++ O->addOccurrence(1, StringRef("unroll-threshold"), StringRef("1"), false); +++#endif +++ ++ LLVMInitialized = true; ++ } ++ ++-- ++2.20.1 ++ diff --cc debian/patches/distro.patch index 0000000,0000000..0d0e5b4 new file mode 100644 --- /dev/null +++ b/debian/patches/distro.patch @@@ -1,0 -1,0 +1,39 @@@ ++Author: Andreas Beckmann ++Description: tune distro mode ++Forwarded: no-needed ++ ++--- a/lib/kernel/host/CMakeLists.txt +++++ b/lib/kernel/host/CMakeLists.txt ++@@ -317,8 +317,8 @@ separate_arguments(DEVICE_C_FLAGS) ++ function(x86_distro_variant_to_flags VARIANT OUT_LLC_FLAGS OUT_CLANG_FLAGS) ++ ++ if("${VARIANT}" STREQUAL "sse2") ++- set(CLANG_F "${CLANG_MARCH_FLAG}athlon64") ++- set(LLC_F "-mcpu=athlon64") +++ set(CLANG_F "${CLANG_MARCH_FLAG}x86-64") +++ set(LLC_F "-mcpu=x86-64") ++ ++ elseif("${VARIANT}" STREQUAL "ssse3") ++ set(CLANG_F "${CLANG_MARCH_FLAG}core2") ++--- a/CMakeLists.txt +++++ b/CMakeLists.txt ++@@ -1041,6 +1041,9 @@ endif() ++ ++ set(KERNELLIB_HOST_DISTRO_VARIANTS 0) ++ if(KERNELLIB_HOST_CPU_VARIANTS STREQUAL "distro") +++ if("${LLC_HOST_CPU}" STREQUAL "GENERIC") +++ set(HOST_CPU_FORCED 0 CACHE INTERNAL "CPU is forced by user") +++ endif() ++ if(HOST_CPU_FORCED) ++ message(FATAL_ERROR "Cannot build with CPU autodetection distro variants build, and enforce LLC_HOST_CPU at the same time. Please pick one") ++ endif() ++@@ -1051,6 +1054,9 @@ if(KERNELLIB_HOST_CPU_VARIANTS STREQUAL ++ else() ++ message(FATAL_ERROR "Don't know what CPU variants to use for kernel library on this platform.") ++ endif() +++ if("${LLC_HOST_CPU}" STREQUAL "GENERIC") +++ list(INSERT KERNELLIB_HOST_CPU_VARIANTS 0 ${LLC_HOST_CPU}) +++ endif() ++ set(KERNELLIB_HOST_DISTRO_VARIANTS 1) ++ endif() ++ diff --cc debian/patches/generic-cpu.patch index 0000000,0000000..b143c9a new file mode 100644 --- /dev/null +++ b/debian/patches/generic-cpu.patch @@@ -1,0 -1,0 +1,71 @@@ ++Author: Andreas Beckmann ++Description: add support for a GENERIC cpu type that uses llvm defaults ++Forwarded: not-needed ++ ++--- a/lib/kernel/host/CMakeLists.txt +++++ b/lib/kernel/host/CMakeLists.txt ++@@ -472,6 +472,11 @@ else() ++ set(LLC_CPUFLAGS "-mcpu=${VARIANT}") ++ endif() ++ +++if("${VARIANT}" STREQUAL "GENERIC") +++ set(CLANG_CPUFLAGS "") +++ set(LLC_CPUFLAGS "") +++endif() +++ ++ separate_arguments(CLANG_CPUFLAGS) ++ separate_arguments(LLC_CPUFLAGS) ++ set(CLANG_FLAGS ${HOST_CLANG_FLAGS} ${CLANG_CPUFLAGS} ++--- a/lib/CL/devices/common.c +++++ b/lib/CL/devices/common.c ++@@ -1572,6 +1572,9 @@ pocl_init_default_device_infos (cl_devic ++ dev->llvm_cpu = get_llvm_cpu_name (); ++ #endif ++ +++ if(dev->llvm_cpu && (!strcmp(dev->llvm_cpu, "GENERIC"))) +++ dev->llvm_cpu = NULL; +++ ++ dev->spirv_version = "SPIR-V_1.2"; ++ #else /* No compiler, no CPU info */ ++ dev->llvm_cpu = NULL; ++--- a/lib/CL/pocl_llvm_build.cc +++++ b/lib/CL/pocl_llvm_build.cc ++@@ -879,7 +879,7 @@ static llvm::Module* getKernelLibrary(cl ++ kernellib_fallback = kernellib; ++ kernellib_fallback += OCL_KERNEL_TARGET_CPU; ++ kernellib_fallback += ".bc"; ++- kernellib += device->llvm_cpu; +++ kernellib += device->llvm_cpu ? device->llvm_cpu : "GENERIC"; ++ #endif ++ } ++ kernellib += ".bc"; ++--- a/cmake/LLVM.cmake +++++ b/cmake/LLVM.cmake ++@@ -720,17 +720,25 @@ endif() ++ ++ if(NOT DEFINED CLANG_MARCH_FLAG) ++ message(STATUS "Checking clang -march vs. -mcpu flag") ++- custom_try_compile_clang_silent("" "return 0;" RES ${CLANG_TARGET_OPTION}${LLC_TRIPLE} -march=${LLC_HOST_CPU}) +++ if(LLC_HOST_CPU STREQUAL "GENERIC" AND NOT KERNELLIB_HOST_CPU_VARIANTS STREQUAL "distro") +++ set(CLANG_MARCH_FLAG "-None=") +++ else() +++ set(LLC_HOST_CPU_TEST "${LLC_HOST_CPU}") +++ if(LLC_HOST_CPU STREQUAL "GENERIC") +++ set(LLC_HOST_CPU_TEST "${LLC_HOST_CPU_AUTO}") +++ endif() +++ custom_try_compile_clang_silent("" "return 0;" RES ${CLANG_TARGET_OPTION}${LLC_TRIPLE} -march=${LLC_HOST_CPU_TEST}) ++ if(NOT RES) ++ set(CLANG_MARCH_FLAG "-march=") ++ else() ++- custom_try_compile_clang_silent("" "return 0;" RES ${CLANG_TARGET_OPTION}${LLC_TRIPLE} -mcpu=${LLC_HOST_CPU}) +++ custom_try_compile_clang_silent("" "return 0;" RES ${CLANG_TARGET_OPTION}${LLC_TRIPLE} -mcpu=${LLC_HOST_CPU_TEST}) ++ if(NOT RES) ++ set(CLANG_MARCH_FLAG "-mcpu=") ++ else() ++ message(FATAL_ERROR "Could not determine whether to use -march or -mcpu with clang") ++ endif() ++ endif() +++ endif() ++ ++ set(CLANG_MARCH_FLAG ${CLANG_MARCH_FLAG} CACHE INTERNAL "Clang option used to specify the target cpu") ++ endif() diff --cc debian/patches/hurd.patch index 0000000,0000000..1e32727 new file mode 100644 --- /dev/null +++ b/debian/patches/hurd.patch @@@ -1,0 -1,0 +1,17 @@@ ++Author: Samuel Thibault ++Description: fix build on hurd-i386 ++Bug-Debian: https://bugs.debian.org/947881 ++ ++Index: pocl-1.3/lib/CL/pocl_timing.c ++=================================================================== ++--- pocl-1.3.orig/lib/CL/pocl_timing.c +++++ pocl-1.3/lib/CL/pocl_timing.c ++@@ -35,7 +35,7 @@ ++ # else ++ # include ++ # endif ++-# ifdef __MACH__ +++# ifdef __APPLE__ ++ # include ++ # include ++ # endif diff --cc debian/patches/libclang-cpp.patch index 0000000,0000000..85a4720 new file mode 100644 --- /dev/null +++ b/debian/patches/libclang-cpp.patch @@@ -1,0 -1,0 +1,25 @@@ ++Author: Andreas Beckmann ++Description: clang-9 has libclang-cpp, too ++ ++--- a/cmake/LLVM.cmake +++++ b/cmake/LLVM.cmake ++@@ -239,8 +239,8 @@ string(STRIP "${LLVM_SYSLIBS}" LLVM_SYSL ++ #################################################################### ++ ++ # llvm-config does not include clang libs ++-if((9 LESS LLVM_MAJOR) AND (NOT STATIC_LLVM)) ++- # For Clang 10+, link against a single shared library instead of multiple component shared +++if((8 LESS LLVM_MAJOR) AND (NOT STATIC_LLVM)) +++ # For Clang 9+, link against a single shared library instead of multiple component shared ++ # libraries. ++ if("${LLVM_LIBNAMES}" MATCHES "LLVMTCE") ++ set(CLANG_LIBNAMES clangTCE-cpp) ++@@ -257,7 +257,7 @@ endif() ++ foreach(LIBNAME ${CLANG_LIBNAMES}) ++ find_library(C_LIBFILE_${LIBNAME} NAMES "${LIBNAME}" HINTS "${LLVM_LIBDIR}") ++ list(APPEND CLANG_LIBFILES "${C_LIBFILE_${LIBNAME}}") ++- if(UNIX AND (NOT APPLE)) +++ if(UNIX AND (NOT APPLE) AND (NOT ((8 LESS LLVM_MAJOR) AND (LLVM_LIB_IS_SHARED MATCHES "shared")))) ++ set(LLVM_LDFLAGS "${LLVM_LDFLAGS} -Wl,--exclude-libs,lib${LIBNAME}") ++ endif() ++ endforeach() diff --cc debian/patches/series index 0000000,0000000..b683d80 new file mode 100644 --- /dev/null +++ b/debian/patches/series @@@ -1,0 -1,0 +1,14 @@@ ++hurd.patch ++libclang-cpp.patch ++skip-subdevice-tests-on-single-core-cpus.patch ++test_printf.patch ++test_structs_as_args.patch ++generic-cpu.patch ++distro.patch ++verbose.patch ++typos.patch ++0001-add-testcase-for-Debian-bug-975931.patch ++0002-restore-visibility-hidden.patch ++0003-restore-setting-unroll-threshold-on-LLVM-9.patch ++timeout.patch ++use-system-CL-headers.patch diff --cc debian/patches/skip-subdevice-tests-on-single-core-cpus.patch index 0000000,0000000..e068291 new file mode 100644 --- /dev/null +++ b/debian/patches/skip-subdevice-tests-on-single-core-cpus.patch @@@ -1,0 -1,0 +1,64 @@@ ++Author: Andreas Beckmann ++Description: skip subdevice tests on (virtual) single core CPUs ++ ++--- a/examples/EinsteinToolkit/CMakeLists.txt +++++ b/examples/EinsteinToolkit/CMakeLists.txt ++@@ -54,5 +54,6 @@ if(NOT MIPS) ++ COST 15.0 ++ LABELS "EinsteinToolkit" ++ ENVIRONMENT "POCL_AFFINITY=1" +++ SKIP_RETURN_CODE 77 ++ DEPENDS "pocl_version_check") ++ endif() ++--- a/examples/EinsteinToolkit/EinsteinToolkit.c +++++ b/examples/EinsteinToolkit/EinsteinToolkit.c ++@@ -528,6 +528,16 @@ void setup(const char* program_source1, ++ ++ if (use_subdev) ++ { +++ { +++ cl_uint max_cus; +++ int err = clGetDeviceInfo (main_device_id, CL_DEVICE_MAX_COMPUTE_UNITS, +++ sizeof(max_cus), &max_cus, NULL); +++ assert (err == CL_SUCCESS); +++ if (max_cus < 2) { +++ fprintf(stderr, "Insufficient compute units for subdevice creation\n"); +++ exit(77); +++ } +++ } ++ const cl_device_partition_property props[] ++ = { CL_DEVICE_PARTITION_EQUALLY, 2, 0 }; ++ cl_device_id subdevs[128]; ++--- a/tests/runtime/CMakeLists.txt +++++ b/tests/runtime/CMakeLists.txt ++@@ -87,7 +87,7 @@ add_test_pocl(NAME "runtime/clGetSupport ++ ++ add_test_pocl(NAME "runtime/clCreateKernelsInProgram" COMMAND "test_clCreateKernelsInProgram") ++ ++-add_test_pocl(NAME "runtime/clCreateSubDevices" COMMAND "test_clCreateSubDevices") +++add_test(NAME "runtime/clCreateSubDevices" COMMAND "test_clCreateSubDevices") ++ ++ add_test_pocl(NAME "runtime/test_event_free" COMMAND "test_event_free") ++ ++@@ -116,6 +116,10 @@ set_tests_properties( "runtime/clGetDevi ++ DEPENDS "pocl_version_check" ++ LABELS "internal;runtime") ++ +++set_tests_properties("runtime/clCreateSubDevices" +++ PROPERTIES +++ SKIP_RETURN_CODE 77) +++ ++ if(NOT ENABLE_ANYSAN) ++ set_tests_properties("runtime/clCreateKernelsInProgram" ++ PROPERTIES ++--- a/tests/runtime/test_clCreateSubDevices.c +++++ b/tests/runtime/test_clCreateSubDevices.c ++@@ -140,7 +140,7 @@ int main(int argc, char **argv) ++ { ++ printf("This test requires a cl device with at least 2 compute units" ++ " (a dual-core or better CPU)\n"); ++- return 1; +++ return 77; ++ } ++ ++ err = clGetDeviceInfo(rootdev, CL_DEVICE_PARTITION_MAX_SUB_DEVICES, diff --cc debian/patches/test_printf.patch index 0000000,0000000..da212ac new file mode 100644 --- /dev/null +++ b/debian/patches/test_printf.patch @@@ -1,0 -1,0 +1,40 @@@ ++Author: Andreas Beckmann ++Description: HACK! kernel/test_printf fails on i686 ++ #--- tests/kernel/test_printf_expout.txt ++ #+++ /tmp/cmake_testrun_tkeWb ++ @@ -145,10 +145,16 @@ ++ 0x1.4p+3,0x1.15p-141,0x1.52d02cp+78,0x0p+0 ++ 0x1.68p+6,0x1.2p+3,0x1.ccccccp-1,0x1.70a3d8p-4 ++ 0x1p+12,0x1p+0,0x1p-3,0x1p-7 ++ -0xfa,0xfb ++ -0x1234,0x8765 ++ +0xfa,0 ++ +0x1234,0 ++ 0x12345678,0x87654321 ++ |a| b|c | ++ |aa| bb|cc |dddddddddd|eeee| ++ |0x2349aacc| 0xdeaddeed|0x92820384 | ++ + ++ +PARAMETER PASSING ++ + ++ +* 0xfa,0 0xfb,0 ü ++ +* 0x1234,0 0x8765,0 ï ++ +* 0x12345678,0x87654321 0x2468ace0,0xfdb97531 . ++ OK ++Bug: https://github.com/pocl/pocl/issues/682 ++Forwarded: not-needed ++ ++--- a/tests/kernel/CMakeLists.txt +++++ b/tests/kernel/CMakeLists.txt ++@@ -222,6 +222,11 @@ add_test_pocl(NAME "kernel/test_printf" ++ EXPECTED_OUTPUT "test_printf_expout.txt" ++ COMMAND "kernel" "test_printf") ++ +++if(LLC_HOST_CPU STREQUAL "i686") +++ set_tests_properties("kernel/test_printf" +++ PROPERTIES WILL_FAIL 1) +++endif() +++ ++ add_test_pocl(NAME "kernel/test_sizeof_uint" ++ EXPECTED_OUTPUT "test_sizeof_expout.txt" ++ COMMAND "kernel" "test_sizeof") diff --cc debian/patches/test_structs_as_args.patch index 0000000,0000000..53b31d9 new file mode 100644 --- /dev/null +++ b/debian/patches/test_structs_as_args.patch @@@ -1,0 -1,0 +1,33 @@@ ++Author: Andreas Beckmann ++Description: HACK! regression/struct_kernel_arguments fails on i686 ++ 141/143 Test #85: regression/struct_kernel_arguments ..................................................***Failed Error regular expression found in output. Regex=[FAIL] 4.58 sec ++ CMake Error at /build/pocl-1.4/cmake/run_test.cmake:34 (message): ++ FAIL: Test exited with nonzero code (1): ++ /build/pocl-1.4/obj-i686-linux-gnu/tests/regression/test_structs_as_args ++ ++ STDOUT: ++ ++ F(4: 0 != 5) F(5: -2147483648 != 6) F(6: 0 != 7) F(7: 0 != 8) ++ ++ STDERR: ++ ++ ++ ++ -- OK ++Bug: https://github.com/pocl/pocl/issues/801 ++Forwarded: not-needed ++ ++--- a/tests/regression/CMakeLists.txt +++++ b/tests/regression/CMakeLists.txt ++@@ -249,6 +249,11 @@ add_test_pocl(NAME "regression/autolocal ++ ++ add_test_pocl(NAME "regression/struct_kernel_arguments" COMMAND "test_structs_as_args") ++ +++if(LLC_HOST_CPU STREQUAL "i686") +++ set_tests_properties("regression/struct_kernel_arguments" +++ PROPERTIES WILL_FAIL 1) +++endif() +++ ++ add_test_pocl(NAME "regression/vector_kernel_arguments" COMMAND "test_vectors_as_args") ++ ++ set(TCE_TESTS "regression/barrier_between_two_for_loops_LOOPS" diff --cc debian/patches/timeout.patch index 0000000,0000000..dedc879 new file mode 100644 --- /dev/null +++ b/debian/patches/timeout.patch @@@ -1,0 -1,0 +1,14 @@@ ++Author: Andreas Beckmann ++Description: kill hanging tests after 30 minutes ++ ++--- a/cmake/run_test.cmake +++++ b/cmake/run_test.cmake ++@@ -12,7 +12,7 @@ endif() ++ string(REPLACE "####" ";" test_cmd_separated "${test_cmd}") ++ ++ execute_process( ++- COMMAND ${test_cmd_separated} +++ COMMAND timeout -k 60 1800 ${test_cmd_separated} ++ RESULT_VARIABLE test_not_successful ++ OUTPUT_VARIABLE stdout ++ ERROR_VARIABLE stderr diff --cc debian/patches/typos.patch index 0000000,0000000..4fe7705 new file mode 100644 --- /dev/null +++ b/debian/patches/typos.patch @@@ -1,0 -1,0 +1,14 @@@ ++Author: Andreas Beckmann ++Description: fix typos found by Lintian ++ ++--- a/lib/CL/pocl_cache.c +++++ b/lib/CL/pocl_cache.c ++@@ -517,7 +517,7 @@ pocl_cache_init_topdir () ++ "library. \nThis is not a bug in pocl and there's nothing we " ++ "can do to fix it - you need both pocl and your program to be" ++ " compiled for your system. This is known to happen with " ++- "Luxmark benchmark binaries dowloaded from website; Luxmark " +++ "Luxmark benchmark binaries downloaded from website; Luxmark " ++ "installed from your linux distribution's packages should " ++ "work.\n", ++ cache_topdir); diff --cc debian/patches/use-system-CL-headers.patch index 0000000,0000000..cd4b4c3 new file mode 100644 --- /dev/null +++ b/debian/patches/use-system-CL-headers.patch @@@ -1,0 -1,0 +1,15 @@@ ++Author: Andreas Beckmann ++Description: we move the embedded copy aside to use system CL headers ++Forwarded: no-needed ++ ++--- a/include/CMakeLists.txt +++++ b/include/CMakeLists.txt ++@@ -23,7 +23,7 @@ ++ # ++ #============================================================================= ++ ++-add_subdirectory("CL") +++#add_subdirectory("CL") ++ ++ set(PRIVATE_HEADERS _enable_all_exts.h _builtin_renames.h ++ _kernel.h _clang_opencl.h diff --cc debian/patches/verbose.patch index 0000000,0000000..80c6af0 new file mode 100644 --- /dev/null +++ b/debian/patches/verbose.patch @@@ -1,0 -1,0 +1,17 @@@ ++Author: Andreas Beckmann ++Description: dump some cmake information ++Forwarded: not-needed ++ ++--- a/cmake/LLVM.cmake +++++ b/cmake/LLVM.cmake ++@@ -24,6 +24,10 @@ ++ # ++ #============================================================================= ++ +++MESSAGE(STATUS "CMAKE_SYSTEM_NAME: ${CMAKE_SYSTEM_NAME}") +++MESSAGE(STATUS "CMAKE_HOST_SYSTEM_PROCESSOR: ${CMAKE_HOST_SYSTEM_PROCESSOR}") +++MESSAGE(STATUS "CMAKE_LIBRARY_ARCHITECTURE: ${CMAKE_LIBRARY_ARCHITECTURE}") +++ ++ if(DEFINED WITH_LLVM_CONFIG AND WITH_LLVM_CONFIG) ++ # search for preferred version ++ if(IS_ABSOLUTE "${WITH_LLVM_CONFIG}") diff --cc debian/pocl-doc.doc-base index 0000000,0000000..d4c905b new file mode 100644 --- /dev/null +++ b/debian/pocl-doc.doc-base @@@ -1,0 -1,0 +1,8 @@@ ++Document: pocl-doc ++Title: Documentation for the pocl library ++Author: The pocl developers ++Section: Programming ++ ++Format: HTML ++Index: /usr/share/doc/pocl-doc/html/index.html ++Files: /usr/share/doc/pocl-doc/html/*.html diff --cc debian/pocl-doc.docs index 0000000,0000000..7a69846 new file mode 100644 --- /dev/null +++ b/debian/pocl-doc.docs @@@ -1,0 -1,0 +1,1 @@@ ++build-doc/html diff --cc debian/pocl-opencl-icd.docs index 0000000,0000000..724e084 new file mode 100644 --- /dev/null +++ b/debian/pocl-opencl-icd.docs @@@ -1,0 -1,0 +1,2 @@@ ++README ++TODO diff --cc debian/pocl-opencl-icd.install index 0000000,0000000..6549149 new file mode 100644 --- /dev/null +++ b/debian/pocl-opencl-icd.install @@@ -1,0 -1,0 +1,1 @@@ ++etc/OpenCL/vendors/pocl.icd diff --cc debian/pocl-opencl-icd.lintian-overrides index 0000000,0000000..aca7cad new file mode 100644 --- /dev/null +++ b/debian/pocl-opencl-icd.lintian-overrides @@@ -1,0 -1,0 +1,2 @@@ ++# This is kind of a metapackage. ++package-contains-no-arch-dependent-files diff --cc debian/rules index 0000000,0000000..8ef398b new file mode 100755 --- /dev/null +++ b/debian/rules @@@ -1,0 -1,0 +1,128 @@@ ++#!/usr/bin/make -f ++# See debhelper(7) (uncomment to enable) ++# output every command that modifies files on the build system. ++#DH_VERBOSE = 1 ++ ++# see EXAMPLES in dpkg-buildflags(1) and read /usr/share/dpkg/* ++DPKG_EXPORT_BUILDFLAGS = 1 ++include /usr/share/dpkg/default.mk ++include /usr/share/dpkg/architecture.mk ++include /usr/share/dpkg/pkg-info.mk ++ ++# see FEATURE AREAS in dpkg-buildflags(1) ++export DEB_BUILD_MAINT_OPTIONS = hardening=+all ++ ++# see ENVIRONMENT in dpkg-buildflags(1) ++# package maintainers to append CFLAGS ++#export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic ++ ++export DEB_CXXFLAGS_MAINT_APPEND += -fvisibility-inlines-hidden ++ ++LLVM_VERSION = $(shell sed -n -r '/^Build/,/^$$/s/.*llvm-([0-9]+)-dev.*/\1/p' debian/control) ++ ++LLVM_ARCH-amd64 = distro ++#LLVM_ARCH-amd64 = x86-64 ++#LLVM_ARCH-arm64 = generic ++LLVM_ARCH-armel = arm946e-s # arch=armv5te ++# armhf should rather be arch=armv7-a, e.g. cpu=cortex-a5 or similar with attr=+vfp3,+d16,+thumb2,-neon,-vfp4 ++LLVM_ARCH-armhf = arm1156t2f-s ++LLVM_ARCH-hurd-i386 = $(LLVM_ARCH-i386) ++LLVM_ARCH-i386 = i686 # clang targets pentium4 by default ++LLVM_ARCH-kfreebsd-amd64 = $(LLVM_ARCH-amd64) ++LLVM_ARCH-kfreebsd-i386 = $(LLVM_ARCH-i386) ++#LLVM_ARCH-mips = mips32r2 # guess ++#LLVM_ARCH-mips64el = mips64r2 # guess ++#LLVM_ARCH-mipsel = mips32r2 # guess ++#LLVM_ARCH-powerpc = ppc ++#LLVM_ARCH-ppc64 = ppc64 # guess ++#LLVM_ARCH-ppc64el = ppc64le ++#LLVM_ARCH-s390x = z10 ++#LLVM_ARCH-sparc64 = v8 # guess ++LLVM_ARCH-x32 = $(LLVM_ARCH-amd64) ++ ++LLC_HOST_CPU = $(or $(patsubst pocl_cpu=%,%,$(filter pocl_cpu=%,$(DEB_BUILD_OPTIONS))),$(LLVM_ARCH-$(DEB_HOST_ARCH)),GENERIC) ++ ++# NEON, optional for Debian, must not be used ++EXTRA_HOST_CLANG_FLAGS-armhf = -mfpu=vfp3-d16 ++# TODO: export KERNEL_LIB_OPT_FLAGS= -mattr=-neon,+d16,+vfp3,-vfp4,+v7,+aclass,+thumb2 ++ ++# doc for symbols: ++# http://www.eyrie.org/~eagle/journal/2012-01/008.html ++# main packaging script based on dh7 syntax ++%: ++ dh $@ --with pkgkde_symbolshelper --buildsystem=cmake ++ ++getval = $(or $($1-$(DEB_HOST_ARCH)),$($1)) ++var2flag = $(if $(strip $(call getval,$1)),-D$1="$(call getval,$1)") ++POCL_CONFIGURE_FLAGS = ++POCL_CONFIGURE_FLAGS += -DENABLE_ICD=yes ++POCL_CONFIGURE_FLAGS += -DWITH_LLVM_CONFIG=/usr/bin/llvm-config-$(LLVM_VERSION) ++POCL_CONFIGURE_FLAGS += $(if $(filter distro,$(LLC_HOST_CPU)),-DLLC_HOST_CPU=GENERIC -DKERNELLIB_HOST_CPU_VARIANTS=distro,-DLLC_HOST_CPU=$(LLC_HOST_CPU)) ++POCL_CONFIGURE_FLAGS += $(call var2flag,EXTRA_HOST_CLANG_FLAGS) ++POCL_CONFIGURE_FLAGS += -DPOCL_ICD_ABSOLUTE_PATH=OFF ++POCL_CONFIGURE_FLAGS += -DHARDENING_ENABLE=ON ++POCL_CONFIGURE_FLAGS += -DCMAKE_SKIP_INSTALL_ALL_DEPENDENCY=OFF ++ ++execute_before_dh_auto_configure: ++ test ! -d include/CL || mv -v include/CL include/_CL ++ test ! -d include/OpenCL || mv -v include/OpenCL include/_OpenCL ++ ++execute_after_dh_auto_clean: ++ test ! -d include/_CL || mv -v include/_CL include/CL ++ test ! -d include/_OpenCL || mv -v include/_OpenCL include/OpenCL ++ ++override_dh_auto_configure: ++ @echo Using LLC_HOST_CPU=$(LLC_HOST_CPU) ++ -/usr/lib/llvm-$(LLVM_VERSION)/bin/llc -version ++ -/usr/lib/llvm-$(LLVM_VERSION)/bin/llc -mattr=help ++ dh_auto_configure -- $(POCL_CONFIGURE_FLAGS) ++ ++override_dh_auto_build-indep: ++ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS))) ++ sphinx-build -N -b html doc/sphinx/source build-doc/html ++else ++ mkdir -p build-doc/html ++endif ++ ++override_dh_shlibdeps: ++ dh_shlibdeps -l/usr/lib/$(DEB_HOST_MULTIARCH)/pocl -- --warnings=7 ++ ++override_dh_auto_test-indep: ++override_dh_auto_test-arch: ++ # Failure in testsuite is delayed until symbols handling ++ # and all files are logged. ++ $(RM) debian/stamp-failed-testsuite ++ $(RM) -r debian/kcache ++ mkdir debian/kcache ++ env POCL_CACHE_DIR=$(CURDIR)/debian/kcache \ ++ OCL_ICD_VENDORS=$(CURDIR)/obj-$(DEB_HOST_GNU_TYPE)/ocl-vendors/pocl-tests.icd \ ++ POCL_BUILDING=1 POCL_DEVICES=basic clinfo || touch debian/stamp-failed-testsuite ++ env POCL_CACHE_DIR=$(CURDIR)/debian/kcache \ ++ OCL_ICD_VENDORS=$(CURDIR)/obj-$(DEB_HOST_GNU_TYPE)/ocl-vendors/pocl-tests.icd \ ++ POCL_BUILDING=1 clinfo || touch debian/stamp-failed-testsuite ++ @set -ex; if ! env POCL_CACHE_DIR="$(CURDIR)/debian/kcache" dh_auto_test ; then \ ++ echo "***** The testsuite has failed! *****" ; \ ++ touch debian/stamp-failed-testsuite; \ ++ fi ++ $(RM) -r debian/kcache ++ ++run_dh_makeshlibs: ++ dh_makeshlibs ++ ++delayed_check_dh_auto_test_result: run_dh_makeshlibs ++ @set -ex; if test -f debian/stamp-failed-testsuite ; then \ ++ echo "***** The testsuite has failed! *****" ; \ ++ exit 1 ; \ ++ fi ++ @test -f obj-*/Testing/Temporary/LastTest.log && echo 'The testsuite has passed all tests.' || echo '*** The testsuite was *NOT* run! ***' ++ ++override_dh_makeshlibs: run_dh_makeshlibs delayed_check_dh_auto_test_result ++ ++override_dh_gencontrol: ++ dh_gencontrol -- \ ++ -V'LLVM:Version=$(LLVM_VERSION)' \ ++ ++ ++fix-symbols: ++ pkgkde-getbuildlogs ++ echo "pkgkde-symbolshelper batchpatch -v $(DEB_VERSION_EPOCH_UPSTREAM) pocl_$(DEB_DISTRIBUTION)_logs/pocl_$(DEB_VERSION)_*build" diff --cc debian/source/format index 0000000,0000000..163aaf8 new file mode 100644 --- /dev/null +++ b/debian/source/format @@@ -1,0 -1,0 +1,1 @@@ ++3.0 (quilt) diff --cc debian/source/lintian-overrides index 0000000,0000000..aa75a96 new file mode 100644 --- /dev/null +++ b/debian/source/lintian-overrides @@@ -1,0 -1,0 +1,2 @@@ ++# the examples directory only contains CMakeFiles for external testsuites ++package-does-not-install-examples examples/ diff --cc debian/upstream/metadata index 0000000,0000000..dcb39aa new file mode 100644 --- /dev/null +++ b/debian/upstream/metadata @@@ -1,0 -1,0 +1,4 @@@ ++Bug-Database: https://github.com/pocl/pocl/issues ++Bug-Submit: https://github.com/pocl/pocl/issues/new ++Repository: https://github.com/pocl/pocl.git ++Repository-Browse: https://github.com/pocl/pocl diff --cc debian/watch index 0000000,0000000..07b60fc new file mode 100644 --- /dev/null +++ b/debian/watch @@@ -1,0 -1,0 +1,4 @@@ ++version=4 ++opts="uversionmangle=s/-RC(\d*)/~rc$1/, filenamemangle=s%(?:.*?)?v?(\d[\d.]*)\.tar\.gz%@PACKAGE@-$1.tar.gz%" \ ++ https://github.com/pocl/pocl/releases \ ++ (?:.*?/)?v?(\d[\d.RC-]*)\.tar\.gz debian uupdate